nl::Weave::Profiles::Heartbeat::WeaveHeartbeatSender

#include <src/lib/profiles/heartbeat/WeaveHeartbeat.h>

Weave Heartbeat Sender 类。

摘要

构造函数和析构函数

WeaveHeartbeatSender(void)

公共类型

EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType{
  kEvent_UpdateSubscriptionState = 1,
  kEvent_HeartbeatSent = 2,
  kEvent_HeartbeatFailed = 3,
  kEvent_DefaultCheck = 100
}
枚举

公共属性

AppState
void *

公共函数

GetBinding() const
获取与检测信号发送者关联的绑定对象。
GetConfiguration(uint32_t & interval, uint32_t & phase, uint32_t & window) const
void
获取检测信号计时配置。
GetEventCallback() const
EventCallback
返回在 WeaveHeartbeatSender 发生的事件或更改时所调用的函数。
GetRequestAck() const
bool
返回一个标志,指示是否会使用 Weave Reliable Messaging 可靠地发送检测信号消息。
GetSubscriptionState() const
uint8_t
获取当前的订阅状态值。
Init(WeaveExchangeManager *exchangeMgr, Binding *binding, EventCallback eventCallback, void *appState)
初始化 Weave Heartbeat 发送器。
ScheduleHeartbeat(void)
安排发送 Weave Heartbeat 消息。
SendHeartbeatNow(void)
立即发送 Weave Heartbeat 消息。
SetConfiguration(uint32_t interval, uint32_t phase, uint32_t window)
void
设置检测信号计时配置。
SetEventCallback(EventCallback eventCallback)
void
设置将被调用的函数,以通知应用 WeaveHeartbeatSender 发生的事件或更改。
SetRequestAck(bool val)
void
设置一个标志,指示是否应使用 Weave Reliable Messaging 可靠地发送检测信号消息。
SetSubscriptionState(uint8_t val)
void
设置当前订阅状态。
Shutdown(void)
关闭 Weave Heartbeat 发送器。
StartHeartbeat(void)
开始发送 Weave 检测信号消息。
StopHeartbeat(void)
停止发送 Weave Heartbeat 消息。

公共静态函数

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
WeaveHeartbeatSender API 事件的默认处理程序函数。

结构体

nl::Weave::Profiles::Heartbeat::WeaveHeartbeatSender::InEventParam

WeaveHeartbeatSender API 事件的输入参数。

nl::Weave::Profiles::Heartbeat::WeaveHeartbeatSender::OutEventParam

WeaveHeartbeatSender API 事件的输出参数。

公共类型

EventCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

EventType

 EventType
属性
kEvent_DefaultCheck

用于验证应用中默认事件处理是否正确。

应用不应明确处理此事件。

kEvent_HeartbeatFailed

未能向对等方发送检测信号消息。

kEvent_HeartbeatSent

已成功向对等端发送检测信号消息。

如果启用了可靠传输,此事件表示消息已得到确认。

kEvent_UpdateSubscriptionState

请求应用更新订阅状态。

公共属性

AppState

void * AppState

公共函数

GetBinding

Binding * GetBinding() const 

获取与检测信号发送者关联的绑定对象。

GetConfiguration

void GetConfiguration(
  uint32_t & interval,
  uint32_t & phase,
  uint32_t & window
) const 

获取检测信号计时配置。

具体说明
参数
[out] interval
对要接收检测信号间隔时间的整数的引用。
[out] phase
对要接收检测信号阶段的整数的引用。
[out] window
对要接收检测信号随机化窗口的整数的引用。

GetEventCallback

EventCallback GetEventCallback() const 

返回在 WeaveHeartbeatSender 发生的事件或更改时所调用的函数。

GetRequestAck

bool GetRequestAck() const 

返回一个标志,指示是否会使用 Weave Reliable Messaging 可靠地发送检测信号消息。

GetSubscriptionState

uint8_t GetSubscriptionState() const 

获取当前的订阅状态值。

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  Binding *binding,
  EventCallback eventCallback,
  void *appState
)

初始化 Weave Heartbeat 发送器。

具体说明
参数
[in] exchangeMgr
指向系统 Weave Exchange Manager 的指针。
[in] binding
指向 Weave 绑定对象的指针,将用于对对等节点进行寻址。
[in] eventCallback
指向函数的指针,调用该函数来通知发送器中发生的事件或状态变化。
[in] appState
指向应用特定数据的指针。此指针将在对应用的回调中返回。
返回值
WEAVE_ERROR_INCORRECT_STATE
如果 WeaveHeartbeatSender 对象已初始化。
WEAVE_ERROR_INVALID_ARGUMENT
如果提供的参数中有任何一个为 null。
WEAVE_NO_ERROR
成功时。

ScheduleHeartbeat

WEAVE_ERROR ScheduleHeartbeat(
  void
)

安排发送 Weave Heartbeat 消息。

具体说明
返回值
WEAVE_SYSTEM_ERROR_NO_MEMORY
如果 StartTimer() 失败
WEAVE_NO_ERROR
成功时

SendHeartbeatNow

WEAVE_ERROR SendHeartbeatNow(
  void
)

立即发送 Weave Heartbeat 消息。

具体说明
返回值
WEAVE_ERROR_INCORRECT_STATE
如果 WeaveHeartbeatSender 未初始化
WEAVE_NO_ERROR
成功时

SetConfiguration

void SetConfiguration(
  uint32_t interval,
  uint32_t phase,
  uint32_t window
)

设置检测信号计时配置。

具体说明
参数
[in] interval
发送 Weave Heartbeat 消息时使用的时间间隔。
[in] phase
发送 Weave Heartbeat 消息时使用的阶段。
[in] window
用于选择随机间隔的窗口范围

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

设置将被调用的函数,以通知应用 WeaveHeartbeatSender 发生的事件或更改。

SetRequestAck

void SetRequestAck(
  bool val
)

设置一个标志,指示是否应使用 Weave Reliable Messaging 可靠地发送检测信号消息。

请注意,此标志仅在使用 UDP 作为传输时才有意义。

具体说明
参数
[in] val
如果应可靠地发送检测信号消息,则为 true。

SetSubscriptionState

void SetSubscriptionState(
  uint8_t val
)

设置当前订阅状态。

具体说明
参数
[in] val
将通过检测信号消息传送的 8 位订阅状态值。

关停

WEAVE_ERROR Shutdown(
  void
)

关闭 Weave Heartbeat 发送器。

具体说明
返回值
WEAVE_NO_ERROR
成功时。

StartHeartbeat

WEAVE_ERROR StartHeartbeat(
  void
)

开始发送 Weave 检测信号消息。

具体说明
返回值
INET_ERROR_NO_MEMORY
如果 StartTimer() 失败
WEAVE_NO_ERROR
成功时

StopHeartbeat

WEAVE_ERROR StopHeartbeat(
  void
)

停止发送 Weave Heartbeat 消息。

具体说明
返回值
WEAVE_NO_ERROR
无条件

WeaveHeartbeatSender

 WeaveHeartbeatSender(
  void
)

公共静态函数

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

WeaveHeartbeatSender API 事件的默认处理程序函数。

应用必须针对自己不处理的任何 API 事件调用此函数。