nl:: Inet:: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
このクラスのオブジェクトは、インスタンス化できない IP プロトコル エンドポイントを表します。
まとめ
継承
継承元: nl::Inet::EndPointBasis直接的な既知のサブクラス:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
パブリック タイプ |
|
---|---|
@8{
|
列挙型 基礎となるエンドポイントの基本的な動的状態。 |
@9{
|
列挙型SendMsg メソッドのオプション フラグを送信します。 |
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
基礎となるエンドポイントの基本的な動的状態。
オブジェクトは「Ready」状態で初期化され、ローカル インターフェース アドレスにバインドしてから「バインド」状態に移行し、ICMP メッセージを受信するイベント処理の継続を登録した時点で「リッスン」状態に進みます。
注: kBasisState_Closed
状態の列挙型は、過去のバイナリの互換性の理由から kState_Ready
にマッピングされています。既存の kState_Closed
は、まだ kState_Ready
または kState_Closed
状態で存在していた「まだ開いていない」と「以前は開いていたが、現在閉じている」と区別するために存在します。
Properties | |
---|---|
kState_Bound
|
エンドポイントにバインドされていますが、リッスンしていません。 |
kState_Closed
|
エンドポイントが閉じられました。リリースの準備ができています。 |
kState_Listening
|
データグラムを受信するエンドポイント。 |
kState_Ready
|
エンドポイントは初期化されていますが、開いていません。 |
9
@9
SendMsg
メソッドのオプション フラグを送信します。
Properties | |
---|---|
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
引数は、エラーのタイプに関する詳細を提供します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
パブリック属性
OnMessageReceived(メッセージの受信時)
OnMessageReceivedFunct OnMessageReceived
エンドポイントのメッセージ受信イベント処理機能のデリゲート。
mState
enum nl::Inet::IPEndPointBasis::@8 mState
基礎となるエンドポイントの基本的な動的状態。
オブジェクトは「Ready」状態で初期化され、ローカル インターフェース アドレスにバインドしてから「バインド」状態に移行し、ICMP メッセージを受信するイベント処理の継続を登録した時点で「リッスン」状態に進みます。
注: kBasisState_Closed
状態の列挙型は、過去のバイナリの互換性の理由から kState_Ready
にマッピングされています。既存の kState_Closed
は、まだ kState_Ready
または kState_Closed
状態で存在していた「まだ開いていない」と「以前は開いていたが、現在閉じている」と区別するために存在します。
プロテクト属性
mBoundIntfId
InterfaceId mBoundIntfId
パブリック関数
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
IP マルチキャスト グループに参加する。
指定したインターフェースのマルチキャスト グループにエンドポイントを結合します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
マルチキャスト グループから退出
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 )
送信メッセージ
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 メッセージの最初のバッファにはイーサネット/IP/UDP ヘッダーに使用されたスペースが格納されているため、データの処理前に情報を保存する必要があります。ただし、IPPacketInfo 構造体の現在のサイズ(40 バイト)を考えると、この構造体をペイロードとともに 1 つのパケット バッファに格納するための十分なスペースがない可能性があります。実際には、この接続はイーサネット ヘッダーなしで受信する非常に大きな IPv4 パケットに対してのみ発生します。