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) typedef
void(*
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType{
  kEvent_EchoRequestReceived = 1,
  kEvent_EchoResponseSent = 2,
  kEvent_DefaultCheck = 100
}
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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

WeaveEchoServer API イベントにパラメータを入力します。

nl::Weave::Profiles::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

 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 オブジェクトを初期化します。

詳細
パラメータ
[in] exchangeMgr
WeaveExchangeManager オブジェクトへのポインタ。
[in] eventCallback
API イベントをアプリケーションに配信するために WeaveEchoServer オブジェクトによって呼び出される関数へのポインタ。
[in] appState
API イベントが発生するたびにアプリケーションに返される、アプリケーション定義オブジェクトへのポインタ。

init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

WeaveEchoServer オブジェクトを初期化します。

ピアからのエコー メッセージに応答するために、WeaveEchoServer オブジェクトを初期化します。

非推奨: Init(WeaveExchangeManager * ExchangeMgr, EventCallback eventCallback, void * appState) を使用してください。

詳細
パラメータ
[in] exchangeMgr
WeaveExchangeManager オブジェクトへのポインタ。
[in] eventCallback
API イベントをアプリケーションに配信するために WeaveEchoServer オブジェクトによって呼び出される関数へのポインタ。
[in] appState
API イベントが発生するたびにアプリケーションに返される、アプリケーション定義オブジェクトへのポインタ。

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

WeaveEchoServer オブジェクトに API イベント コールバック関数を設定します。

シャットダウン

WEAVE_ERROR Shutdown(
  void
)

以前に初期化した WeaveEchoServer オブジェクトをシャットダウンします。

このメソッドは、Init() メソッドがすでに呼び出されている場合にのみ呼び出すことができます。

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer のデフォルト コンストラクタ。

静的パブリック関数

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

WeaveEchoServer API イベントのデフォルト ハンドラ。

アプリケーションで認識または処理できない API イベントに対しては、このメソッドを呼び出す必要があります。指定するパラメータは、サーバー オブジェクトからアプリケーションのイベント ハンドラ関数に渡されるパラメータと同じである必要があります。

詳細
パラメータ
[in] appState
サーバー オブジェクトに関連付けられたアプリケーション定義の状態情報へのポインタ。
[in] eventType
イベントのコールバックによって渡されたイベント ID
[in] inParam
イベント コールバックによって渡される入力イベント パラメータの参照
[in] outParam
イベント コールバックによって渡される出力イベント パラメータの参照