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 通訊協定的回應者端。Weave Echo 通訊協定與 ICMP 連線偵測 (ping) 通訊協定類似,可用來測試 Weave 節點的有效性和可連性。
應用程式可以使用 WeaveEchoServer 類別,以自動回應收到的 EchoRequest 訊息。啟動 echo 要求時有對應類別 (請參閱 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{
|
列舉 |
公開屬性 |
|
---|---|
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 事件回呼函式。
公開的靜態函式
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
WeaveEchoServer API 事件的預設處理常式。
應用程式必須針對無法識別或處理的 API 事件呼叫這個方法。提供的參數必須與伺服器物件傳遞至應用程式事件處理常式函式的參數相同。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|