nl ::織り::プロファイル:: Echo_Next :: WeaveEchoServer
#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>
Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.
概要
WeaveEchoServerのクラスは、織りエコープロトコルの応答側を実装します。 ICMP pingプロトコルと同様に、Weave Echoプロトコルを使用して、Weaveノードの活性と到達可能性をテストできます。
アプリケーションは、使用することができますWeaveEchoServerの入ってくるEchoRequestメッセージへの自動応答を有効にするクラスを。対応するクラスは、エコー要求を(参照開始するために存在するWeaveEchoClientを)。
デフォルトではWeaveEchoServerは要求と同じペイロードを含む応答でEchoRequestに即座に応答します。ただし、この動作は、EchoRequestReceivedAPIイベントの処理中にアプリケーションによって変更される可能性があります。
APIイベント
その動作の過程で、 WeaveEchoServerのオブジェクトは、要求の特定のアクションにアプリケーションを呼び出すか、重要なイベントの通知を配信します。これらのAPIイベント呼び出しは、サーバーオブジェクトで現在構成されているコールバック関数に対して行われます。特に明記されていない限り、アプリケーションはイベントコールバック中にサーバーの状態を自由に変更できます。一つの全体的な例外は、オブジェクトのあるシャットダウン()コールバック中に呼び出されない場合があり方法。
次のAPIイベントが定義されています。
EchoRequestReceived
EchoRequestメッセージがピアから受信されました。イベントの引数には、要求ペイロード、メッセージが受信された交換コンテキスト、および要求メッセージに関するメタ情報が含まれます。
アプリケーションが選択した場合、イベントへの出力引数を変更して、応答の遅延を強制するか、応答を完全に抑制することができます。さらに、応答メッセージのペイロードとなるペイロードバッファの内容を変更する場合があります。
EchoResponseSent
EchoResponseメッセージが送信されたか、送信に失敗しました。イベントの引数には、メッセージの送信に起因するエラー(存在する場合)と、メッセージが送信された交換コンテキストが含まれます。
継承
:から継承NL ::織り:: WeaveServerBase直系の既知のサブクラス: NL ::織り:: DeviceLayer ::内部:: EchoServer
コンストラクタとデストラクタ | |
---|---|
WeaveEchoServer (void) デフォルトコンストラクタWeaveEchoServer 。 |
パブリックタイプ | |
---|---|
EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) | typedefvoid(* |
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) | typedefvoid(* |
EventType { | 列挙型 |
パブリック属性 | |
---|---|
AppState | void * アプリケーション固有のデータへのポインター。 |
OnEchoRequestReceived | EchoFunct |
公の行事 | |
---|---|
GetEventCallback (void) const | EventCallback 現在に設定されたAPIのイベントのコールバック関数へのポインタを返しますWeaveEchoServerのオブジェクト。 |
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState) | 初期化WeaveEchoServerのオブジェクトを。 |
Init ( WeaveExchangeManager *exchangeMgr) | 初期化WeaveEchoServerのオブジェクトを。 |
SetEventCallback (EventCallback eventCallback) | void 上のAPIイベントコールバック関数を設定しますWeaveEchoServerのオブジェクトを。 |
Shutdown (void) | シャットダウン前に初期化されWeaveEchoServerのオブジェクト。 |
パブリック静的関数 | |
---|---|
DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam) | void デフォルトハンドラWeaveEchoServerのAPIイベント。 |
構造体 | |
---|---|
NL ::織り::プロファイル:: Echo_Next :: WeaveEchoServer :: InEventParam | 入力パラメータWeaveEchoServerのAPIイベント。 |
NL ::織り::プロファイル:: Echo_Next :: WeaveEchoServer :: OutEventParam | 出力パラメータWeaveEchoServerのAPIイベント。 |
パブリックタイプ
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
イベントタイプ
EventType
パブリック属性
AppState
void * AppState
アプリケーション固有のデータへのポインター。
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
公の行事
GetEventCallback
EventCallback GetEventCallback( void ) const
現在に設定されたAPIのイベントのコールバック関数へのポインタを返しますWeaveEchoServerのオブジェクト。
初期化
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
初期化WeaveEchoServerのオブジェクトを。
初期化WeaveEchoServerのピアからのエコーメッセージに応答するオブジェクトを。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメーター |
|
初期化
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
初期化WeaveEchoServerのオブジェクトを。
初期化WeaveEchoServerのピアからのエコーメッセージに応答するオブジェクトを。
非推奨:ご使用ください初期化(WeaveExchangeManager * exchangeMgr、EventCallback eventCallback、void *型appStateを) 。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメーター |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
上のAPIイベントコールバック関数を設定しますWeaveEchoServerのオブジェクトを。
シャットダウン
WEAVE_ERROR Shutdown( void )
シャットダウン前に初期化されWeaveEchoServerのオブジェクト。
場合は、この方法でのみ呼び出すことができることに注意してくださいは、init()メソッドが以前に呼び出されています。
パブリック静的関数
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
デフォルトハンドラWeaveEchoServerのAPIイベント。
アプリケーションは、認識または処理しないAPIイベントに対してこのメソッドを呼び出す必要があります。提供されるパラメーターは、サーバーオブジェクトからアプリケーションのイベントハンドラー関数に渡されるパラメーターと同じである必要があります。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメーター |
|