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 事件的預設處理常式。
|
Structs |
|
---|---|
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 物件,以回應來自對等點的 echo 訊息。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
初始化 WeaveEchoServer 物件。
初始化 WeaveEchoServer 物件,以回應來自對等點的 echo 訊息。
已淘汰:請改用 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 事件呼叫這個方法。提供的參數必須與伺服器物件傳遞至應用程式事件處理常式函式中的參數相同。
詳細資料 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|