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 协议的响应者端。与 ICMP ping 协议类似,Weave Echo 协议可用于测试 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 * switchMgr, 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 事件调用此方法。提供的参数必须与服务器对象传递给应用的事件处理脚本函数的参数相同。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|