nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
他の Weave ノードとの通信を管理する WeaveMessageLayer クラスの定義。
概要
複数の InetLayer エンドポイントの 1 つを使用して、他の 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{
|
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 つの WeaveConnections を結合して 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
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 受信接続の処理中にエラーを報告するための上位レイヤのコールバックです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
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
受信接続のデフォルトのアイドル タイムアウト(ミリ秒単位)。
イネット
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 オブジェクトに対応する TCPEndPoint が WeaveConnectionTunnel に引き継がれます。引き継がれない場合は、WeaveConnections が閉じられます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
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 メッセージ レイヤのヘッダーを 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
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 )
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 接続のリッスンを有効または無効にします。
注: TCP リスニング状態が変更された後に、RefreshEndpoints()
を呼び出す必要があります。
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
WeaveMessageLayer で受信 UDP メッセージのリッスンを有効または無効にします。
注: UDP リスニング状態が変更された後に、RefreshEndpoints()
を呼び出す必要があります。
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
受信 TCP 接続をリッスンするように WeaveMessageLayer が構成されていることを確認します。
UDPListenEnabled
bool UDPListenEnabled( void ) const
受信 UDP メッセージをリッスンするように WeaveMessageLayer が構成されていることを確認します。
UnsecuredListenEnabled
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 )
ピアから受信したメッセージに関連付けられた情報に基づいて、ピアノードを記述する文字列を作成します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|