透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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
傳回在 WeaveHeartbeatsend 中發生的事件或變更時,要呼叫的函式。
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)
立即傳送「Wave 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 事件的預設處理常式函式。

結構

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

輸入參數至 WeaveHeartbeatSender API 事件。

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

輸出參數至 WeaveHeartbeatSender API 事件。

公開類型

事件回呼

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

EventType

 EventType
屬性
kEvent_DefaultCheck

用於驗證應用程式中正確的預設事件處理方式。

應用程式「不得」明確處理此事件。

kEvent_HeartbeatFailed

無法傳送對等互連訊息。

kEvent_HeartbeatSent

已成功將相同的活動訊息傳送給同事。

如果啟用可靠的傳輸功能,表示已確認郵件。

kEvent_UpdateSubscriptionState

應用程式要求更新訂閱狀態。

公開屬性

應用程式狀態

void * AppState

公開函式

取得繫結

Binding * GetBinding() const 

取得與心跳傳送者相關聯的繫結物件。

GetConfiguration

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

取得心跳時間設定。

詳細資料
參數
[out] interval
參照整數以接收心跳間隔。
[out] phase
接收整數活動階段的整數。
[out] window
可接收心跳隨機隨機倒帶的整數參照。

取得事件回呼

EventCallback GetEventCallback() const 

傳回在 WeaveHeartbeatsend 中發生的事件或變更時,要呼叫的函式。

取得要求

bool GetRequestAck() const 

傳回標記是否使用 Weave Reliable Messaging 穩定地傳送心跳訊息。

取得訂閱狀態

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
成功。

時間表聽

WEAVE_ERROR ScheduleHeartbeat(
  void
)

排定傳送 Weave Heartbeat 訊息的時間。

詳細資料
傳回值
WEAVE_SYSTEM_ERROR_NO_MEMORY
如果 StartTimer() 失敗
WEAVE_NO_ERROR
成功

SendHeartbeatNow

WEAVE_ERROR SendHeartbeatNow(
  void
)

立即傳送「Wave Heartbeat」訊息。

詳細資料
傳回值
WEAVE_ERROR_INCORRECT_STATE
如未初始化 WeaveHeartbeatSender
WEAVE_NO_ERROR
成功

設定

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

設定活動訊號時間設定。

詳細資料
參數
[in] interval
傳送 Wetve Heartbeat 訊息時使用的間隔。
[in] phase
傳送 Wetve Heartbeat 訊息時使用的階段。
[in] window
用來選擇隨機間隔的時間範圍範圍

設定事件回呼

void SetEventCallback(
  EventCallback eventCallback
)

設定會呼叫函式,以在 WeaveHeartbeatSender 中發出事件變更或套用變更。

設定要求

void SetRequestAck(
  bool val
)

設定標記,指出是否使用 Weave Reliable Messaging 穩定地傳送心跳訊息。

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

詳細資料
參數
[in] val
如果系統能夠穩定地傳送心跳訊息,則傳回 true。

設定訂閱狀態

void SetSubscriptionState(
  uint8_t val
)

設定目前的訂閱狀態。

詳細資料
參數
[in] val
要與心跳訊息一併傳送的 8 位元訂閱狀態值。

停用

WEAVE_ERROR Shutdown(
  void
)

關閉 Weave Heartbeat 寄件者。

詳細資料
傳回值
WEAVE_NO_ERROR
成功。

開始

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
)

公開的靜態函式

預設事件處理常式

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

WeaveHeartbeatSender API 事件的預設處理常式函式。

應用程式必須針對其無法處理的任何 API 事件呼叫此函式。