nl:: Inet:: UDPEndPoint
#include <src/inet/UDPEndPoint.h>
このクラスのオブジェクトは、UDP トランスポート エンドポイントを表します。
概要
Nest Inet Layer は、システムの設定に応じて、UDP トランスポート エンドポイント(Linux や BSD 派生システムの SOCK_DGRAM ソケット)や LwIP UDP プロトコル制御ブロックとやり取りする方法をカプセル化します。
継承
継承元: nl::Inet::IPEndPointBasis
パブリック関数 |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
|
エンドポイントをインターフェース IP アドレスにバインドします。
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
エンドポイントをネットワーク インターフェースにバインドします。
|
Close(void)
|
void
エンドポイントを閉じます。
|
Free(void)
|
void
エンドポイントを閉じてメモリをリサイクルします。
|
GetBoundInterface(void)
|
InterfaceId
このエンドポイントのバインドされたインターフェースを取得します。
|
GetBoundPort(void)
|
uint16_t
|
Listen(void)
|
UDP メッセージを受信するようにエンドポイントを準備します。
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
指定した宛先に UDP メッセージを送信します。
|
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) の同義語。 |
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
指定した宛先アドレスに UDP メッセージを送信します。
|
パブリック関数
バインド
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId )
エンドポイントをインターフェース IP アドレスにバインドします。
指定されたネットワーク インターフェース IP アドレスにエンドポイントをバインドします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
エンドポイントをネットワーク インターフェースにバインドします。
指定されたネットワーク インターフェース IP アドレスにエンドポイントをバインドします。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
閉じる
void Close( void )
エンドポイントを閉じます。
mState != kState_Closed
の場合、エンドポイントを閉じて、通信イベントの対象となる一連のエンドポイントから削除します。
LwIP システムでは、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
無料
void Free( void )
エンドポイントを閉じてメモリをリサイクルします。
Close
メソッドを呼び出してから InetLayerBasis::Release
メソッドを呼び出して、オブジェクトをメモリプールに返します。
LwIP システムでは、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
GetBoundInterface
InterfaceId GetBoundInterface( void )
このエンドポイントのバインドされたインターフェースを取得します。
詳細 | |
---|---|
戻り値 |
InterfaceId バインドされたインターフェース ID。
|
GetBoundPort
uint16_t GetBoundPort( void )
聴く
INET_ERROR Listen( void )
UDP メッセージを受信するようにエンドポイントを準備します。
State
がすでに kState_Listening
になっている場合、オペレーションは実行されません。それ以外の場合は、mState
が kState_Listening
に設定され、プラットフォームのセマンティクスに従って、UDP メッセージを受信するようにエンドポイントが準備されます。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
指定した宛先に UDP メッセージを送信します。
Send the UDP message in \c msg to the destination address and port given in \c pktInfo. If \c pktInfo contains an interface id, the message will be sent over the specified interface. If \c pktInfo contains a source address, the given address will be used as the source of the UDP message. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
の同義語。
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
指定した宛先アドレスに UDP メッセージを送信します。
If possible, then this method sends the UDP message \c msg to the destination \c addr (with \c intfId used as the scope identifier for IPv6 link-local destinations) and \c port with the transmit option flags encoded in \c sendFlags. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|