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

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

編織 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 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 Heartbeat 訊息。
StopHeartbeat(void)
停止傳送 Weave Heartbeat 訊息。

公開的靜態函式

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
WeaveHeartbeatSender API 事件的預設處理常式函式。

Structs

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
如果任何提供的引數為空值,
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 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 事件呼叫此函式。