nl::
  #include <src/inet/IPEndPointBasis.h>
  このクラスのオブジェクトは、インスタンス化できない IP プロトコル エンドポイントを表します。
概要
継承
継承元: nl::Inet::EndPointBasis直系の既知のサブクラス:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
| 公開タイプ | |
|---|---|
| @8{ | enum 基盤となるエンドポイントの基本的な動的状態。 | 
| @9{ | enum SendMsgメソッドのオプション フラグを送信します。 | 
| OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) | typedef void(*メッセージ テキスト受信イベント処理関数のタイプ。 | 
| OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) | typedef void(*受信エラーイベント処理関数の型。 | 
| パブリック属性 | |
|---|---|
| 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 パケットに対してのみ発生します。