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

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

Weave Heartbeat 傳送者類別。

摘要

建構函式和解構函式

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 心率傳送者。
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 可靠的訊息傳送可靠地傳送心跳訊息。
SetSubscriptionState(uint8_t val)
void
設定目前的訂閱狀態。
Shutdown(void)
關閉 Weave 心率傳送者。
StartHeartbeat(void)
開始傳送 Weave Heartbeat 訊息。
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 心率傳送者。

詳細說明
參數
[in] exchangeMgr
指向系統 Weave Exchange Manager 的指標。
[in] binding
Weave 繫結物件指標,將用來處理對等互連節點。
[in] eventCallback
指向一個函式。系統會呼叫此函式來通知傳送者發生的事件或狀態變更。
[in] appState
應用程式特定資料的指標。這個指標會在應用程式的回呼中傳回。
傳回值
WEAVE_ERROR_INCORRECT_STATE
如果 WeaveHeartbeatSender 物件已初始化,
WEAVE_ERROR_INVALID_ARGUMENT
如果提供的任何引數為空值。
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 可靠的訊息傳送可靠地傳送心跳訊息。

請注意,只有在使用 UDP 做為傳輸方式時,這個標記才有意義。

詳細說明
參數
[in] val
如果心跳訊息應可靠傳送,則為 True。

SetSubscriptionState

void SetSubscriptionState(
  uint8_t val
)

設定目前的訂閱狀態。

詳細說明
參數
[in] val
8 位元訂閱狀態值,要隨心跳訊息傳遞。

關機

WEAVE_ERROR Shutdown(
  void
)

關閉 Weave 心率傳送者。

詳細說明
傳回值
WEAVE_NO_ERROR
成功時。

StartHeartbeat

WEAVE_ERROR StartHeartbeat(
  void
)

開始傳送 Weave Heartbeat 訊息。

詳細說明
傳回值
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 事件呼叫這個函式。