nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
他の Weave ノードとの通信を管理する WeaveMessageLayer クラスの定義。
まとめ
複数の InetLayer エンドポイントのいずれかを使用して、他の Weave ノードとの通信チャネルを確立します。
コンストラクタとデストラクタ |
|
---|---|
WeaveMessageLayer(void)
Weave メッセージ レイヤのコンストラクタ。
|
パブリック タイプ |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
この関数は、受信 TCP 接続の処理中にエラーを報告するための上位レイヤ コールバックです。 |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
この関数は、コールバックを削除するために呼び出されます。 |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
この関数は、受信 TCP 接続を処理するための上位レイヤ コールバックです。 |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
この関数は、メッセージ レイヤ アクティビティの変更を報告するためのアプリケーション コールバックです。 |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
この関数は、UDP を介して Weave メッセージを受信すると呼び出される上位レイヤのコールバックです。 |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
この関数は、エラーが発生したときに呼び出される上位レイヤのコールバックです。 |
State{
|
列挙型 WeaveMessageLayer の状態。 |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
この関数は、ローカル UDP トンネル経由でトンネリング パケットを受信すると呼び出される上位レイヤのコールバックです。 |
パブリック属性 |
|
---|---|
AppState
|
void *
アプリケーション固有の状態オブジェクトへのポインタ。
|
ExchangeMgr
|
[読み取り専用] 関連付けられている WeaveExchangeManager オブジェクト。
|
FabricState
|
[読み取り専用] 関連付けられている WeaveFabricState オブジェクト。
|
IncomingConIdleTimeout
|
uint32_t
受信接続のデフォルトのアイドル タイムアウト(ミリ秒単位)。
|
Inet
|
InetLayer *
[読み取り専用] 関連付けられている InetLayer オブジェクト。
|
IsListening
|
bool
[読み取り専用] 受信接続/メッセージをリッスンしている場合は true、それ以外の場合は false。
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[読み取り専用] 関連付けられている WeaveSecurityManager オブジェクト。
|
State
|
uint8_t
[読み取り専用] WeaveMessageLayer オブジェクトの状態。
|
SystemLayer
|
|
mDropMessage
|
bool
内部専用、デバッグのみ。設定すると、WeaveMessageLayer はメッセージをドロップして返します。
|
パブリック関数 |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
開いているすべての TCP エンドポイントと UDP エンドポイントを閉じます。
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
指定した 2 つの WeaveConnections を結合して WeaveConnectionTunnel を作成します。
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
受信した Weave メッセージから Weave Message レイヤのヘッダーをデコードします。
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
WeaveMessageLayer ヘッダーを PacketBuffer にエンコードします。
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Weave メッセージ レイヤのヘッダーを PacketBuffer にエンコードします。
|
EphemeralUDPPortEnabled(void) const
|
bool
ローカルで開始された Weave UDP 交換をエフェメラル UDP 送信元ポートから送信する必要があるかどうかを確認します。
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
使用中の WeaveConnections の数とプールのサイズを取得します。
|
IPv4ListenEnabled(void) const
|
bool
IPv4 経由での着信通信をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
|
IPv6ListenEnabled(void) const
|
bool
IPv4 経由での着信通信をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
|
Init(InitContext *context)
|
Weave メッセージレイヤ オブジェクトを初期化します。
|
IsBoundToLocalIPv4Address(void) const
|
bool
WeaveMessageLayer がローカル IPv4 アドレスにバインドされているかどうかを確認します。
|
IsBoundToLocalIPv6Address(void) const
|
bool
WeaveMessageLayer がローカル IPv6 アドレスにバインドされているかどうかを確認します。
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
プールから新しい WeaveConnection オブジェクトを作成します。
|
NewConnectionTunnel(void)
|
プールから新しい WeaveConnectionTunnel オブジェクトを作成します。
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
システムのネットワーク インターフェースの現在の状態に基づいて、InetLayer エンドポイントを更新します。
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
ローカル UDP トンネル経由でトンネリング パケットを送信する関数。
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
メッセージ レイヤのアクティビティが変更されるたびに呼び出されるアプリケーション ハンドラを設定します。
|
SetTCPListenEnabled(bool val)
|
void
WeaveMessageLayer で受信 TCP 接続のリッスンを有効または無効にします。
|
SetUDPListenEnabled(bool val)
|
void
WeaveMessageLayer で受信 UDP メッセージのリッスンを有効または無効にします。
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
WeaveMessageLayer をシャットダウンします。
|
TCPListenEnabled(void) const
|
bool
受信 TCP 接続をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
|
UDPListenEnabled(void) const
|
bool
受信 UDP メッセージをリッスンするよう WeaveMessageLayer が設定されているかどうかを確認します。
|
UnsecuredListenEnabled(void) const
|
bool
エフェメラル UDP 送信元ポートからの Weave UDP 交換の開始を有効または無効にします。
|
静的パブリック関数 |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
メッセージ構成と指定された PacketBuffer の最大 Weave ペイロード サイズを取得します。
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
ピアノードとそれに関連付けられたアドレス / 接続情報を記述する文字列を作成します。
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
ピアから受信したメッセージに関連する情報に基づいて、ピアノードを記述する文字列を作成します。
|
クラス |
|
---|---|
nl:: |
InitContext クラスの定義。 |
パブリック タイプ
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
この関数は、受信 TCP 接続の処理中にエラーを報告するための上位レイヤ コールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
コールバック RemoveFunct
void(* CallbackRemovedFunct)(void *listenerState)
この関数は、コールバックを削除するために呼び出されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
この関数は、受信 TCP 接続を処理するための上位レイヤ コールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
この関数は、メッセージ レイヤ アクティビティの変更を報告するためのアプリケーション コールバックです。
オープン エクスチェンジまたは保留中のメッセージ カウンタの同期リクエストが 1 つ以上ある場合、メッセージ レイヤはアクティブとみなされます。
詳細 | |||
---|---|---|---|
パラメータ |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
この関数は、UDP を介して Weave メッセージを受信すると呼び出される上位レイヤのコールバックです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
受信エラー操作
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
この関数は、エラーが発生したときに呼び出される上位レイヤのコールバックです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
状態
State
WeaveMessageLayer の状態。
Properties | |
---|---|
kState_Initialized
|
WeaveMessageLayer が初期化されたときの状態。 |
kState_Initializing
|
WeaveMessageLayer が初期化中の場合の状態。 |
kState_NotInitialized
|
WeaveMessageLayer が初期化されていないときの状態。 |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
この関数は、ローカル UDP トンネル経由でトンネリング パケットを受信すると呼び出される上位レイヤのコールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
パブリック属性
アプリの状態
void * AppState
アプリケーション固有の状態オブジェクトへのポインタ。
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
受信接続のデフォルトのアイドル タイムアウト(ミリ秒単位)。
イネット
InetLayer * Inet
[読み取り専用] 関連付けられている InetLayer オブジェクト。
IsListening
bool IsListening
[読み取り専用] 受信接続/メッセージをリッスンしている場合は true、それ以外の場合は false。
OnAcceptError
AcceptErrorFunct OnAcceptError
接続接続を受信しました
ConnectionReceiveFunct OnConnectionReceived
メッセージの受信
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
システムレイヤ
System::Layer * SystemLayer
パブリック関数
ClearUnsecureConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
CloseEndpoints
WEAVE_ERROR CloseEndpoints( void )
開いているすべての TCP エンドポイントと UDP エンドポイントを閉じます。
次に、開いている WeaveConnections を中止し、開いている WeaveConnectionTunnel オブジェクトをシャットダウンします。
関連項目:Shutdown()
トンネルの作成
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
指定した 2 つの WeaveConnections を結合して WeaveConnectionTunnel を作成します。
正常に作成されると、WeaveConnection オブジェクトに対応する TCPEndPoint が WeaveConnectionTunnel に渡され、そうでないと WeaveConnections が終了します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
デコード ヘッダー
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
受信した Weave メッセージから Weave Message レイヤのヘッダーをデコードします。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
エンコード メッセージ
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
WeaveMessageLayer ヘッダーを PacketBuffer にエンコードします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
エンコード メッセージ
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Weave メッセージ レイヤのヘッダーを PacketBuffer にエンコードします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
EphemeralUDPPortEnabled(エフェメラル UDP ポートの有効化)
bool EphemeralUDPPortEnabled( void ) const
ローカルで開始された Weave UDP 交換をエフェメラル UDP 送信元ポートから送信する必要があるかどうかを確認します。
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
使用中の WeaveConnections の数とプールのサイズを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
IPv4ListenEnabled(IPv4 接続の有効化)
bool IPv4ListenEnabled( void ) const
IPv4 経由での着信通信をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
IPv4 経由での着信通信をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
init
WEAVE_ERROR Init( InitContext *context )
Weave メッセージレイヤ オブジェクトを初期化します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
WeaveMessageLayer がローカル IPv4 アドレスにバインドされているかどうかを確認します。
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
WeaveMessageLayer がローカル IPv6 アドレスにバインドされているかどうかを確認します。
IsMessageLayerActive
bool IsMessageLayerActive( void )
新しい接続の作成
WeaveConnection * NewConnection( void )
プールから新しい WeaveConnection オブジェクトを作成します。
詳細 | |
---|---|
戻り値 |
成功した場合は、新しく作成された WeaveConnection オブジェクトへのポインタ。それ以外の場合は NULL。
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
プールから新しい WeaveConnectionTunnel オブジェクトを作成します。
詳細 | |
---|---|
戻り値 |
成功した場合は、新しく作成された WeaveConnectionTunnel オブジェクトへのポインタ。それ以外の場合は NULL。
|
再エンコード メッセージ
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
システムのネットワーク インターフェースの現在の状態に基づいて、InetLayer エンドポイントを更新します。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|
メッセージを再送信
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
メッセージを再送信
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
メッセージを再送信
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
メッセージを再送信
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
注: 宛先アドレスが指定されていない場合は、メッセージ ヘッダーのノード識別子から宛先アドレスを判別してみてください。この処理ができなかった場合は失敗します。- 宛先アドレスがローカル ファブリックのファブリック アドレスで、呼び出し元が宛先ノード ID を指定していない場合は、宛先アドレスから抽出します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
メッセージを送信
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
メッセージを送信
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
注: 使用する宛先ポートは WEAVE_PORT です。- 送信先アドレスが指定されていない場合は、メッセージ ヘッダーのノード ID からそのアドレスを特定します。リンクしないと失敗する。
- 宛先アドレスがローカル ファブリックのファブリック アドレスで、呼び出し元が宛先ノード ID を指定していない場合は、宛先アドレスから抽出します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
メッセージを送信
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用してエンコードした後、Weave メッセージを送信します。
注: 宛先アドレスが指定されていない場合は、メッセージ ヘッダーのノード識別子から宛先アドレスを判別してみてください。この処理ができなかった場合は失敗します。- 宛先アドレスがローカル ファブリックのファブリック アドレスで、呼び出し元が宛先ノード ID を指定していない場合は、宛先アドレスから抽出します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
UDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
ローカル UDP トンネル経由でトンネリング パケットを送信する関数。
UDP を介してトンネリングされた IPv6 データ メッセージを送信します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
メッセージ レイヤのアクティビティが変更されるたびに呼び出されるアプリケーション ハンドラを設定します。
具体的には、申請のたびに次のタイミングで通知されます。
- 開いているエクスチェンジの数。
- 保留中のメッセージ カウンタ同期リクエストの数が 0 から少なくとも 1 に変化し、0 に戻る。ハンドラは、進行中の Weave 会話または保留中のレスポンスがあるかどうかを示す一般的なシグナルとして機能します。ハンドラは、WeaveMessageLayer が初期化された後に設定する必要があります。WeaveMessageLayer をシャットダウンすると現在のハンドラがクリアされます。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
WeaveMessageLayer で受信 TCP 接続のリッスンを有効または無効にします。
注: TCP リスニング状態が変更された後に、RefreshEndpoints()
を呼び出す必要があります。
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
WeaveMessageLayer で受信 UDP メッセージのリッスンを有効または無効にします。
注: UDP リスニング状態が変更された後に、RefreshEndpoints()
を呼び出す必要があります。
SetUnsecureConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
シャットダウン
WEAVE_ERROR Shutdown( void )
WeaveMessageLayer をシャットダウンします。
開いているすべての Inet レイヤ エンドポイントを閉じ、上位レイヤのコールバック、メンバー変数、オブジェクトをすべてリセットします。Shutdown() を呼び出すと、WeaveMessageLayer オブジェクトが終了されます。
TCPListenEnabled
bool TCPListenEnabled( void ) const
受信 TCP 接続をリッスンするように WeaveMessageLayer が設定されているかどうかを確認します。
UDPListenEnabled(UDP リッスンの有効化)
bool UDPListenEnabled( void ) const
受信 UDP メッセージをリッスンするよう WeaveMessageLayer が設定されているかどうかを確認します。
UnsecureListenEnabled
bool UnsecuredListenEnabled( void ) const
エフェメラル UDP 送信元ポートからの Weave UDP 交換の開始を有効または無効にします。
注: RefreshEndpoints()
は、エフェメラル ポートの状態が変更された後に呼び出す必要があります。保護されていないリスニングが有効になっているかどうかを確認します。
WeaveMessageLayer
WeaveMessageLayer( void )
Weave メッセージ レイヤのコンストラクタ。
静的パブリック関数
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
メッセージ構成と指定された PacketBuffer の最大 Weave ペイロード サイズを取得します。
返される最大ペイロード サイズは、指定された PacketBuffer 内のペイロードに使用可能なスペースを超えることはありません。
メッセージが UDP の場合、返される最大ペイロード サイズによって、指定した UDP MTU をオーバーフローしない Weave メッセージが返されることはありません。
最後に、返される最大ペイロード サイズによって、Weave メッセージの最大サイズがオーバーフローする Weave メッセージが生成されることはありません。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
Weave ペイロードの最大サイズ。
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
ピアノードとそれに関連付けられたアドレス / 接続情報を記述する文字列を作成します。
生成される文字列の形式は、
です。([ ]: % , con )
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
ピアから受信したメッセージに関連する情報に基づいて、ピアノードを記述する文字列を作成します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|