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 { | 枚舉 |
公共屬性 | |
---|---|
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
公共屬性
應用狀態
void * AppState
指向應用程序特定數據的指針。
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
公共職能
在裡面
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
初始化WeaveEchoServer對象。
初始化一個WeaveEchoServer對象以響應從對等迴聲消息。
細節 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
在裡面
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
初始化WeaveEchoServer對象。
初始化一個WeaveEchoServer對象以響應從對等迴聲消息。
推薦使用:請使用初始化(WeaveExchangeManager * exchangeMgr,EventCallback eventCallback,無效* APPSTATE) 。
細節 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
公共靜態函數
默認事件處理程序
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
默認處理程序WeaveEchoServer API事件。
應用程序需要為它們無法識別或處理的任何 API 事件調用此方法。提供的參數必須與服務器對像傳遞給應用程序的事件處理函數的參數相同。
細節 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|