NL::編織::簡介:: Echo_Next::織迴聲服務器

#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與含相同有效載荷作為請求響應。但是,在處理 EchoRequestReceived API 事件期間,應用程序可以更改此行為。

API 事件

在其運作過程中, WeaveEchoServer對象將調用的應用程序要求的具體行動或交付的重要事件的通知。這些 API 事件調用是對服務器對像上當前配置的回調函數進行的。除非另有說明,應用程序可以在事件回調期間自由更改服務器的狀態。一個總的例外是對象的關機()方法,它可從來沒有一個回調過程中被調用。

定義了以下 API 事件:

收到迴聲請求

收到來自對等方的 EchoRequest 消息。事件的參數包含請求有效負載、接收消息的交換上下文以及有關請求消息的元信息。

如果應用程序選擇,它可能會更改事件的輸出參數以強制延遲響應或完全抑制響應。此外,它可能會改變有效載荷緩衝區的內容,這將成為響應消息的有效載荷。

已發送迴聲響應

EchoResponse 消息已發送,或發送失敗。事件的參數包含由發送消息(如果有)和發送消息的交換上下文導致的錯誤。

遺產

:從繼承NL ::編織:: WeaveServerBase
直接已知子類: NL ::紡織品:: DeviceLayer ::內部:: EchoServer的

構造函數和析構函數

WeaveEchoServer (void)
默認構造WeaveEchoServer

公共類型

EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)類型定義
void(*
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)類型定義
void(*
EventType {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
枚舉

公共屬性

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事件。

公共類型

迴聲函數

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

事件回調

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

事件類型

 EventType
特性
kEvent_DefaultCheck

用於驗證應用程序中正確的默認事件處理。

kEvent_EchoRequestReceived

收到來自對等方的 EchoRequest 消息。

kEvent_EchoResponseSent

EchoResponse 消息已發送,或發送失敗。

公共屬性

應用狀態

void * AppState

指向應用程序特定數據的指針。

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

公共職能

獲取事件回調

EventCallback GetEventCallback(
  void
) const 

返回指向當前配置的API事件回調函數WeaveEchoServer對象。

在裡面

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

初始化WeaveEchoServer對象。

初始化一個WeaveEchoServer對象以響應從對等迴聲消息。

細節
參數
[in] exchangeMgr
的指針WeaveExchangeManager對象。
[in] eventCallback
一個指向將被調用函數WeaveEchoServer對象提供API事件給應用程序。
[in] appState
指向應用程序定義對象的指針,每當 API 事件發生時,該對象將被傳遞回應用程序。

在裡面

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

初始化WeaveEchoServer對象。

初始化一個WeaveEchoServer對象以響應從對等迴聲消息。

推薦使用:請使用初始化(WeaveExchangeManager * exchangeMgr,EventCallback eventCallback,無效* APPSTATE) 。

細節
參數
[in] exchangeMgr
的指針WeaveExchangeManager對象。
[in] eventCallback
一個指向將被調用函數WeaveEchoServer對象提供API事件給應用程序。
[in] appState
指向應用程序定義對象的指針,每當 API 事件發生時,該對象將被傳遞回應用程序。

設置事件回調

void SetEventCallback(
  EventCallback eventCallback
)

設置的API事件回調函數WeaveEchoServer對象。

關掉

WEAVE_ERROR Shutdown(
  void
)

關閉一個以前初始化WeaveEchoServer對象。

需要注意的是,如果這種方法只能叫的init()方法已經被以前稱為。

織迴聲服務器

 WeaveEchoServer(
  void
)

默認構造WeaveEchoServer

公共靜態函數

默認事件處理程序

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

默認處理程序WeaveEchoServer API事件。

應用程序需要為它們無法識別或處理的任何 API 事件調用此方法。提供的參數必須與服務器對像傳遞給應用程序的事件處理函數的參數相同。

細節
參數
[in] appState
指向與服務器對象關聯的應用程序定義的狀態信息的指針。
[in] eventType
事件回調傳遞的事件ID
[in] inParam
事件回調傳遞的輸入事件參數的引用
[in] outParam
事件回調傳遞的輸出事件參數的引用