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

公開屬性

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
指向一個函式指標,該函式會由 WeaveEchoServer 物件呼叫,以將 API 事件提供給應用程式。
[in] appState
應用程式定義物件的指標。每當發生 API 事件時,這個物件就會傳回應用程式。

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

初始化 WeaveEchoServer 物件。

初始化 WeaveEchoServer 物件,以回應來自對等點的回音訊息。

已淘汰:請使用 Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState)

詳細說明
參數
[in] exchangeMgr
指向 WeaveExchangeManager 物件的指標。
[in] eventCallback
指向一個函式指標,該函式會由 WeaveEchoServer 物件呼叫,以將 API 事件提供給應用程式。
[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
由事件回呼傳遞的輸出事件參數參考資料