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
事件回调传递的输出事件参数的引用