nl:: Weave:: Profiles:: 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 クラスは、Weave Echo プロトコルのレスポンダ側を実装します。ICMP ping プロトコルと同様に、Weave Echo プロトコルを使用して、Weave ノードのライブネスとネットワーク到達性をテストできます。
アプリケーションで WeaveEchoServer クラスを使用すると、EchoRequest メッセージへの自動応答を有効にすることができます。エコー リクエストを開始するためのクラスが存在します(WeaveEchoClient をご覧ください)。
デフォルトでは、WeaveEchoServer は EchoRequest に対してすぐに応答します。応答には、リクエストと同じペイロードが含まれます。ただし、この動作は、EchoRequestReceived API イベントの処理中にアプリケーションによって変更される可能性があります。
API イベント
オペレーションの過程で、WeaveEchoServer オブジェクトはアプリケーションを呼び出して、特定のアクションをリクエストしたり、重要なイベントの通知を配信したりします。これらの API イベント呼び出しは、サーバー オブジェクトで現在設定されているコールバック関数に対して行われます。特に指定のない限り、アプリはイベントのコールバック中にサーバーの状態を自由に変更できます。全体的な例外の 1 つはオブジェクトの Shutdown() メソッドです。このメソッドはコールバック中に呼び出されることはありません。
以下の API イベントが定義されています。
EchoRequestReceived
EchoRequest メッセージがピアから受信されました。イベントの引数には、リクエスト ペイロード、メッセージを受信した交換コンテキスト、リクエスト メッセージに関するメタ情報が含まれます。
アプリケーションで必要に応じて、出力引数をイベントに変更して、応答を強制的に遅らせたり、応答を完全に抑制したりできます。また、ペイロード バッファの内容も変更でき、それがレスポンス メッセージのペイロードになります。
EchoResponseSent
EchoResponse メッセージが送信されたか、送信に失敗しました。イベントの引数には、メッセージの送信で発生したエラー(存在する場合)と、メッセージの送信時の交換コンテキストが含まれます。
継承
継承元: nl::Weave::WeaveServerBase直接的な既知のサブクラス: nl::Weave::DeviceLayer::Internal::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{
|
enum |
パブリック属性 |
|
---|---|
AppState
|
void *
アプリケーション固有のデータへのポインタ。
|
OnEchoRequestReceived
|
EchoFunct
|
パブリック関数 |
|
---|---|
GetEventCallback(void) const
|
EventCallback
WeaveEchoServer オブジェクトに現在構成されている API イベント コールバック関数へのポインタを返します。
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
WeaveEchoServer オブジェクトを初期化します。
|
Init(WeaveExchangeManager *exchangeMgr)
|
WeaveEchoServer オブジェクトを初期化します。
|
SetEventCallback(EventCallback eventCallback)
|
void
WeaveEchoServer オブジェクトに API イベント コールバック関数を設定します。
|
Shutdown(void)
|
以前に初期化した WeaveEchoServer オブジェクトをシャットダウンします。
|
静的パブリック関数 |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
WeaveEchoServer API イベントのデフォルト ハンドラ。
|
構造体 |
|
---|---|
nl:: |
WeaveEchoServer API イベントにパラメータを入力する。 |
nl:: |
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
EventType
プロパティ | |
---|---|
kEvent_DefaultCheck
|
アプリケーションのデフォルトのイベント処理の正確性を検証するために使用されます。 |
kEvent_EchoRequestReceived
|
EchoRequest メッセージがピアから受信されました。 |
kEvent_EchoResponseSent
|
EchoResponse メッセージが送信されたか、送信に失敗しました。 |
パブリック属性
AppState
void * AppState
アプリケーション固有のデータへのポインタ。
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
パブリック関数
GetEventCallback
EventCallback GetEventCallback( void ) const
WeaveEchoServer オブジェクトに現在構成されている API イベント コールバック関数へのポインタを返します。
init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
WeaveEchoServer オブジェクトを初期化します。
ピアからのエコー メッセージに応答するために WeaveEchoServer オブジェクトを初期化します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
WeaveEchoServer オブジェクトを初期化します。
ピアからのエコー メッセージに応答するために WeaveEchoServer オブジェクトを初期化します。
非推奨: Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) を使用してください。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
WeaveEchoServer オブジェクトに API イベント コールバック関数を設定します。
シャットダウン
WEAVE_ERROR Shutdown( void )
以前に初期化した WeaveEchoServer オブジェクトをシャットダウンします。
このメソッドは、以前に Init() メソッドを呼び出している場合にのみ呼び出すことができます。
静的パブリック関数
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
WeaveEchoServer API イベントのデフォルト ハンドラ。
アプリケーションで認識または処理できない API イベントがある場合は、このメソッドを呼び出す必要があります。指定するパラメータは、サーバー オブジェクトからアプリケーションのイベント ハンドラ関数に渡すパラメータと同じである必要があります。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|