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.
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|