nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
このクラスのオブジェクトは、インスタンス化できない IP プロトコル エンドポイントを表します。
概要
継承
継承元: nl::Inet::EndPointBasis直系の既知のサブクラス:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
公開タイプ |
|
---|---|
@8{
|
enum 基盤となるエンドポイントの基本的な動的状態。 |
@9{
|
enumSendMsg メソッドのオプション フラグを送信します。 |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
typedefvoid(*
メッセージ テキスト受信イベント処理関数のタイプ。 |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
受信エラーイベント処理関数の型。 |
パブリック属性 |
|
---|---|
OnMessageReceived
|
エンドポイントのメッセージ受信イベント処理関数のデリゲート。
|
OnReceiveError
|
エンドポイントの受信エラー イベント処理関数のデリゲート。
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
基盤となるエンドポイントの基本的な動的状態。
|
プロテクト属性 |
|
---|---|
mBoundIntfId
|
InterfaceId
|
パブリック関数 |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
IP マルチキャスト グループに参加します。
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
IP マルチキャスト グループから退会する。
|
SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback)
|
IP マルチキャスト トラフィックをループバックするかどうかを設定します。
|
プロテクト関数 |
|
---|---|
Bind(IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId)
|
|
BindInterface(IPAddressType aAddressType, InterfaceId aInterfaceId)
|
|
GetSocket(IPAddressType aAddressType, int aType, int aProtocol)
|
|
HandleDataReceived(Weave::System::PacketBuffer *aBuffer)
|
void
|
HandlePendingIO(uint16_t aPort)
|
void
|
Init(InetLayer *aInetLayer)
|
void
|
PrepareIO(void)
|
|
SendMsg(const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags)
|
静的パブリック関数 |
|
---|---|
FindNetifFromInterfaceId(InterfaceId aInterfaceId)
|
struct netif *
|
保護された静的関数 |
|
---|---|
GetPacketInfo(Weave::System::PacketBuffer *buf)
|
LwIP IP レイヤの送信元と宛先のアドレス情報を取得します。
|
公開タイプ
@8
@8
基盤となるエンドポイントの基本的な動的状態。
オブジェクトは、準備完了状態で初期化され、「境界」状態にある状態を状態をローカル インターフェース アドレスにバインドした後、「リスニング」に進みます。ICMP メッセージ受信のイベントを処理するための継続が登録されている場合に、この状態に維持します。
注: kBasisState_Closed
状態の列挙型は、バイナリ互換性の過去の理由から kState_Ready
にマッピングされています。既存の kState_Closed
は、「まだ開いていません」との区別を区別するために存在します。および「
営業終了」以前の kState_Ready
状態と kState_Closed
状態に存在していた新しい UDM 値を返します。
プロパティ | |
---|---|
kState_Bound
|
エンドポイントにバインドされていますが、リッスンしていません。 |
kState_Closed
|
エンドポイントが閉じ、リリースの準備ができました。 |
kState_Listening
|
データグラムを受信するエンドポイント。 |
kState_Ready
|
エンドポイントは初期化されましたが、開いていません。 |
@9
@9
SendMsg
メソッドのオプション フラグを送信します。
プロパティ | |
---|---|
kSendFlag_RetainBuffer
|
破棄のためにメッセージを直接キューに入れないでください。 コピーをキューに追加します。 |
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
メッセージ テキスト受信イベント処理関数のタイプ。
この型の関数を OnMessageReceived
委任メンバーに提供して、endPoint
のメッセージ テキスト受信イベントを処理します。ここで、msg
は、senderAddr
の送信者から受信したメッセージ テキストです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
受信エラーイベント処理関数の型。
このタイプの関数を OnReceiveError
委任メンバーに提供して、endPoint
での受信エラーイベントを処理します。err
引数は、エラーのタイプに関する詳細情報を提供します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
パブリック属性
mState
enum nl::Inet::IPEndPointBasis::@8 mState
基盤となるエンドポイントの基本的な動的状態。
オブジェクトは、準備完了状態で初期化され、「境界」状態にある状態を状態をローカル インターフェース アドレスにバインドした後、「リスニング」に進みます。ICMP メッセージ受信のイベントを処理するための継続が登録されている場合に、この状態に維持します。
注: kBasisState_Closed
状態の列挙型は、バイナリ互換性の過去の理由から kState_Ready
にマッピングされています。既存の kState_Closed
は、「まだ開いていません」との区別を区別するために存在します。および「
営業終了」以前の kState_Ready
状態と kState_Closed
状態に存在していた新しい UDM 値を返します。
プロテクト属性
mBoundIntfId
InterfaceId mBoundIntfId
パブリック関数
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
IP マルチキャスト グループに参加します。
指定されたインターフェースで、指定されたマルチキャスト グループにエンドポイントを参加させます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
IP マルチキャスト グループから退会する。
指定されたインターフェース上の指定されたマルチキャスト グループからエンドポイントを削除します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
IP マルチキャスト トラフィックをループバックするかどうかを設定します。
IP マルチキャスト トラフィックをこのエンドポイントにループバックするかどうかを設定します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
プロテクト関数
バインド
INET_ERROR Bind( IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId )
BindInterface
INET_ERROR BindInterface( IPAddressType aAddressType, InterfaceId aInterfaceId )
GetSocket
INET_ERROR GetSocket( IPAddressType aAddressType, int aType, int aProtocol )
HandleDataReceived
void HandleDataReceived( Weave::System::PacketBuffer *aBuffer )
HandlePendingIO
void HandlePendingIO( uint16_t aPort )
init
void Init( InetLayer *aInetLayer )
PrepareIO
SocketEvents PrepareIO( void )
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags )
静的パブリック関数
FindNetifFromInterfaceId
struct netif * FindNetifFromInterfaceId( InterfaceId aInterfaceId )
保護された静的関数
GetPacketInfo
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
LwIP IP レイヤの送信元と宛先のアドレス情報を取得します。
LwIP を使用すると、パケットに関する情報が「非表示」になるバッファ内のデータ開始前に確保された領域に書き込まれます。これが必要になるのは、システムレイヤ イベントには引数が 2 つしかないためです。この例では、ポインタをエンドポイントに、バッファにポインタを伝えるために使用されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
成功時のアドレス情報へのポインタそうでない場合は NULL を返します。
|
ほとんどの場合、LwIP IP メッセージの最初のバッファに Ethernet/IP/UDP ヘッダーに使用されたスペースが含まれているため、データが機能する前に情報を保存する技法があります。ただし、IPPacketInfo 構造の現在のサイズ(40 バイト)では、単一のパケット バッファに構造をペイロードとともに格納するのに十分なスペースがない可能性もあります。実際には、これはイーサネット ヘッダーなしで到着した非常に大きな IPv4 パケットに対してのみ発生します。