nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
他の Weave ノードとの通信を管理する WeaveMessageLayer クラスの定義。
概要
複数の InetLayer エンドポイントのいずれかを使用して、他の Weave ノードとの通信チャネルを確立します。
コンストラクタとデストラクタ |
|
---|---|
WeaveMessageLayer(void)
Weave Message レイヤのコンストラクタ。
|
公開タイプ |
|
---|---|
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{
|
enum 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 つの WeaveConnection を結合して WeaveConnectionTunnel を作成します。
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
受信した Weave メッセージから Weave メッセージレイヤ ヘッダーをデコードします。
|
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
WeaveMessageLayer が IPv4 経由の受信通信をリッスンするように構成されているかどうかを確認します。
|
IPv6ListenEnabled(void) const
|
bool
WeaveMessageLayer が IPv4 経由の受信通信をリッスンするように構成されているかどうかを確認します。
|
Init(InitContext *context)
|
Weave Message レイヤ オブジェクトを初期化します。
|
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
WeaveMessageLayer が受信 TCP 接続をリッスンするように構成されているかどうかを確認します。
|
UDPListenEnabled(void) const
|
bool
WeaveMessageLayer が受信 UDP メッセージをリッスンするように構成されているかどうかを確認します。
|
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 接続の処理中にエラーを報告するための上位レイヤ コールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
CallbackRemovedFunct
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 メッセージを受信したときに呼び出される上位レイヤのコールバックです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
この関数は、エラーが発生したときに呼び出される上位レイヤのコールバックです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
州
State
WeaveMessageLayer の状態。
プロパティ | |
---|---|
kState_Initialized
|
WeaveMessageLayer が初期化されたときの状態。 |
kState_Initializing
|
WeaveMessageLayer の初期化プロセス中であることを示します。 |
kState_NotInitialized
|
WeaveMessageLayer が初期化されていない状態。 |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
この関数は、ローカル UDP トンネルを介してトンネル化されたパケットを受信したときに呼び出される上位レイヤのコールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
パブリック属性
AppState
void * AppState
アプリケーション固有の状態オブジェクトへのポインタ。
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
受信接続のデフォルトのアイドル タイムアウト(ミリ秒単位)。
Inet
InetLayer * Inet
[読み取り専用] 関連する InetLayer オブジェクト。
IsListening
bool IsListening
[読み取り専用] 着信接続 / メッセージをリッスンしている場合は true、それ以外の場合は false。
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SystemLayer
System::Layer * SystemLayer
パブリック関数
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
CloseEndpoints
WEAVE_ERROR CloseEndpoints( void )
開いている TCP エンドポイントと UDP エンドポイントをすべて閉じます。
次に、開いている WeaveConnections を中止し、開いている WeaveConnectionTunnel オブジェクトをすべてシャットダウンします。
関連情報:Shutdown()。
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
指定された 2 つの WeaveConnections を結合して、WeaveConnectionTunnel を作成します。
作成に成功すると、コンポーネント WeaveConnection オブジェクトに対応する TCPEndPoints が WeaveConnectionTunnel に渡されます。成功しなかった場合は、WeaveConnection が閉じられます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
受信した Weave メッセージから Weave メッセージレイヤ ヘッダーをデコードします。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
WeaveMessageLayer ヘッダーを PacketBuffer にエンコードします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Weave Message レイヤのヘッダーを PacketBuffer にエンコードします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
ローカルで開始された Weave UDP 交換を、エフェメラル UDP 送信元ポートから送信する必要があるかどうかを確認します。
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
使用中の WeaveConnections の数とプールのサイズを取得します。
詳細 | |||
---|---|---|---|
パラメータ |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
WeaveMessageLayer が IPv4 経由の受信通信をリッスンするように構成されているかどうかを確認します。
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
WeaveMessageLayer が IPv4 経由の受信通信をリッスンするように構成されているかどうかを確認します。
init
WEAVE_ERROR Init( InitContext *context )
Weave Message レイヤ オブジェクトを初期化します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
WeaveMessageLayer がローカル IPv4 アドレスにバインドされているかどうかを確認します。
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
WeaveMessageLayer がローカル IPv6 アドレスにバインドされているかどうかを確認します。
IsMessageLayerActive
bool IsMessageLayerActive( void )
NewConnection
WeaveConnection * NewConnection( void )
プールから新しい WeaveConnection オブジェクトを作成します。
詳細 | |
---|---|
戻り値 |
成功した場合は新しく作成された WeaveConnection オブジェクトへのポインタ。それ以外の場合は NULL。
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
プールから新しい WeaveConnectionTunnel オブジェクトを作成します。
詳細 | |
---|---|
戻り値 |
成功した場合は新しく作成された WeaveConnectionTunnel オブジェクトへのポインタ、それ以外の場合は NULL。
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
システムのネットワーク インターフェースの現在の状態に基づいて、InetLayer エンドポイントを更新します。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
基盤となる Inetlayer UDP エンドポイントを使用して、エンコードされた Weave メッセージを再送信します。
注: - 宛先アドレスが指定されていない場合は、メッセージ ヘッダーのノード ID から宛先アドレスを特定しようとします。これができない場合は失敗します。-宛先アドレスがローカル・ファブリックのファブリック・アドレスであり、呼び出し元が宛先ノード ID を指定しなかった場合は、宛先アドレスからそれを抽出します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
エンコードした後、基盤となる Inetlayer UDP エンドポイントを使用して Weave メッセージを送信します。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
エンコードした後、基盤となる Inetlayer UDP エンドポイントを使用して Weave メッセージを送信します。
注: - 使用される宛先ポートは WEAVE_PORT です。-宛先アドレスが指定されていない場合は、メッセージ ヘッダーのノード ID から宛先アドレスを特定しようとします。これができない場合は失敗します。
-宛先アドレスがローカル ファブリックのファブリック アドレスで、呼び出し元が宛先ノード ID を指定しなかった場合は、宛先アドレスから抽出します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
エンコード後、基盤となる Inetlayer UDP エンドポイントを使用して Weave メッセージを送信します。
注: - 宛先アドレスが指定されていない場合は、メッセージ ヘッダーのノード ID から宛先アドレスを特定しようとします。実行できない場合は失敗します。-宛先アドレスがローカル ファブリックのファブリック アドレスで、呼び出し元が宛先ノード ID を指定しなかった場合は、宛先アドレスから抽出します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
SendUDPTunneledMessage
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 接続のリッスンを有効または無効にします。
注: RefreshEndpoints()
は、TCP リッスン状態が変更された後に呼び出す必要があります。
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
WeaveMessageLayer で、受信 UDP メッセージのリッスンを有効または無効にします。
注: RefreshEndpoints()
は、UDP リスニング状態が変更された後に呼び出す必要があります。
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
シャットダウン
WEAVE_ERROR Shutdown( void )
WeaveMessageLayer をシャットダウンします。
開いている Inet レイヤ エンドポイントをすべて閉じ、上位レイヤのコールバック、メンバー変数、オブジェクトをすべてリセットします。Shutdown() を呼び出すと、WeaveMessageLayer オブジェクトが終了します。
TCPListenEnabled
bool TCPListenEnabled( void ) const
WeaveMessageLayer が受信 TCP 接続をリッスンするように構成されているかどうかを確認します。
UDPListenEnabled
bool UDPListenEnabled( void ) const
WeaveMessageLayer が受信 UDP メッセージをリッスンするように構成されているかどうかを確認します。
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
エフェメラル UDP 送信元ポートからの Weave UDP 交換の開始を有効または無効にします。
注: RefreshEndpoints()
は、エフェメラル ポートの状態が変更された後に呼び出す必要があります。保護されていないリスニングが有効になっているかどうかを確認します。
WeaveMessageLayer
WeaveMessageLayer( void )
Weave Message レイヤのコンストラクタ。
静的パブリック関数
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 )
ピアから受信したメッセージに関連付けられている情報に基づいて、ピアノードを記述する文字列を構築します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|