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 对象,以响应来自对等端的 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 事件调用此方法。提供的参数必须与服务器对象向应用的事件处理脚本函数传递的参数相同。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|