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 EchoServer のレスポンダー側を実装します。ICMP ping プロトコルと同様に、Weave Echo プロトコルを使用して、Weave ノードのライブネスとネットワーク到達性をテストできます。
アプリケーションで WeaveEchoServer クラスを使用すると、EchoRequest メッセージの受信に対する自動応答を有効にできます。エコー リクエストを開始するための対応するクラスが存在します(WeaveEchoClient を参照)。
デフォルトでは、WeaveEchoServer は EchoRequest に直ちに応答し、応答にはリクエストと同じペイロードが含まれます。ただし、この動作は、EchoRequestReceived API イベントの処理中にアプリケーションによって変更される可能性があります。
API イベント
WeaveEchoServer オブジェクトは、その操作中にアプリケーションに呼び出して、特定の操作をリクエストしたり、重要なイベントの通知を受け取ったりします。これらの API イベント呼び出しは、サーバー オブジェクトに現在構成されているコールバック関数に対して行われます。特に記載のない限り、イベント コールバック中に、アプリケーションはサーバーの状態を自由に変更できます。全体的な例外として、オブジェクトの 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 イベントに対しては、このメソッドを呼び出す必要があります。指定するパラメータは、サーバー オブジェクトからアプリケーションのイベント ハンドラ関数に渡されるパラメータと同じである必要があります。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|