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

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

Lớp Weave Heartbeat Sender.

Tóm tắt

Hàm khởi tạo và hàm phá

WeaveHeartbeatSender(void)

Loại công khai

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
}
enum

Thuộc tính công khai

AppState
void *

Hàm công khai

GetBinding() const
Lấy đối tượng liên kết liên kết với trình gửi nhịp tim.
GetConfiguration(uint32_t & interval, uint32_t & phase, uint32_t & window) const
void
Nhận cấu hình thời gian của nhịp tim.
GetEventCallback() const
EventCallback
Trả về hàm sẽ được gọi để thông báo cho ứng dụng về các sự kiện hoặc thay đổi xảy ra trong WeaveHeartbeatSender.
GetRequestAck() const
bool
Trả về cờ cho biết liệu thông báo nhịp tim có được gửi một cách đáng tin cậy bằng cách sử dụng tính năng Thông báo đáng tin cậy của Weave hay không.
GetSubscriptionState() const
uint8_t
Nhận giá trị trạng thái hiện tại của gói thuê bao.
Init(WeaveExchangeManager *exchangeMgr, Binding *binding, EventCallback eventCallback, void *appState)
Khởi chạy Weave Heartbeat Sender.
ScheduleHeartbeat(void)
Lên lịch gửi tin nhắn Heartbeat của Weave.
SendHeartbeatNow(void)
Gửi ngay tin nhắn Heartbeat từ Weave.
SetConfiguration(uint32_t interval, uint32_t phase, uint32_t window)
void
Đặt cấu hình thời gian nhịp tim.
SetEventCallback(EventCallback eventCallback)
void
Thiết lập hàm sẽ được gọi để thông báo cho ứng dụng về các sự kiện hoặc thay đổi xảy ra trong WeaveHeartbeatSender.
SetRequestAck(bool val)
void
Đặt cờ cho biết liệu thông báo nhịp tim có được gửi một cách đáng tin cậy bằng tính năng Thông báo đáng tin cậy của Weave hay không.
SetSubscriptionState(uint8_t val)
void
Đặt trạng thái hiện tại của gói thuê bao.
Shutdown(void)
Tắt Trình gửi Heartbeat của Weave.
StartHeartbeat(void)
Bắt đầu gửi tin nhắn Heartbeat của Weave.
StopHeartbeat(void)
Ngừng gửi tin nhắn Heartbeat của Weave.

Hàm tĩnh công khai

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Hàm xử lý mặc định cho các sự kiện API WeaveHeartbeatSender.

Cấu trúc

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

Nhập tham số vào sự kiện API WeaveHeartbeatSender.

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

Xuất tham số cho sự kiện API WeaveHeartbeatSender.

Loại công khai

EventCallback

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

EventType

 EventType
Thuộc tính
kEvent_DefaultCheck

Dùng để xác minh cách xử lý sự kiện mặc định chính xác trong ứng dụng.

Ứng dụng KHÔNG được xử lý rõ ràng sự kiện này.

kEvent_HeartbeatFailed

Không gửi được thông báo về nhịp tim cho đồng nghiệp.

kEvent_HeartbeatSent

Đã gửi thành công thông báo về nhịp tim đến người dùng ngang hàng.

Nếu chế độ truyền đáng tin cậy được bật, thì sự kiện này cho biết thông báo đã được xác nhận.

kEvent_UpdateSubscriptionState

Ứng dụng được yêu cầu cập nhật trạng thái của gói thuê bao.

Thuộc tính công khai

AppState

void * AppState

Hàm công khai

GetBinding

Binding * GetBinding() const 

Lấy đối tượng liên kết liên kết với trình gửi nhịp tim.

GetConfiguration

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

Nhận cấu hình thời gian của nhịp tim.

Thông tin chi tiết
Thông số
[out] interval
Tham chiếu đến một số nguyên để nhận khoảng nhịp tim.
[out] phase
Tham chiếu đến một số nguyên để nhận giai đoạn nhịp tim.
[out] window
Tham chiếu đến một số nguyên để nhận cửa sổ ngẫu nhiên nhịp tim.

GetEventCallback

EventCallback GetEventCallback() const 

Trả về hàm sẽ được gọi để thông báo cho ứng dụng về các sự kiện hoặc thay đổi xảy ra trong WeaveHeartbeatSender.

GetRequestAck

bool GetRequestAck() const 

Trả về cờ cho biết liệu thông báo nhịp tim có được gửi một cách đáng tin cậy bằng cách sử dụng tính năng Thông báo đáng tin cậy của Weave hay không.

GetSubscriptionState

uint8_t GetSubscriptionState() const 

Nhận giá trị trạng thái hiện tại của gói thuê bao.

Bắt đầu

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

Khởi chạy Weave Heartbeat Sender.

Thông tin chi tiết
Thông số
[in] exchangeMgr
Con trỏ tới Trình quản lý Weave Exchange của hệ thống.
[in] binding
Con trỏ đến đối tượng liên kết Weave được dùng để chỉ định nút ngang hàng.
[in] eventCallback
Con trỏ đến một hàm sẽ được gọi để thông báo cho việc áp dụng các sự kiện hoặc thay đổi trạng thái xảy ra trong người gửi.
[in] appState
Con trỏ tới dữ liệu dành riêng cho ứng dụng. Con trỏ này sẽ được trả về trong các lệnh gọi lại đến ứng dụng.
Giá trị trả về
WEAVE_ERROR_INCORRECT_STATE
Nếu đối tượng WeaveHeartbeatSender đã được khởi động.
WEAVE_ERROR_INVALID_ARGUMENT
Nếu bất kỳ đối số nào được cung cấp là rỗng.
WEAVE_NO_ERROR
Khi thành công.

ScheduleHeartbeat

WEAVE_ERROR ScheduleHeartbeat(
  void
)

Lên lịch gửi tin nhắn Heartbeat của Weave.

Thông tin chi tiết
Giá trị trả về
WEAVE_SYSTEM_ERROR_NO_MEMORY
nếu StartTimer() không thành công
WEAVE_NO_ERROR
khi thành công

SendHeartbeatNow

WEAVE_ERROR SendHeartbeatNow(
  void
)

Gửi ngay tin nhắn Heartbeat từ Weave.

Thông tin chi tiết
Giá trị trả về
WEAVE_ERROR_INCORRECT_STATE
nếu WeaveHeartbeatSender không được khởi động
WEAVE_NO_ERROR
khi thành công

SetConfiguration

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

Đặt cấu hình thời gian nhịp tim.

Thông tin chi tiết
Thông số
[in] interval
Khoảng thời gian sử dụng khi gửi thông báo Heartbeat của Weave.
[in] phase
Giai đoạn cần sử dụng khi gửi thông báo Heartbeat của Weave.
[in] window
Dải ô cửa sổ dùng để chọn khoảng thời gian ngẫu nhiên

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Thiết lập hàm sẽ được gọi để thông báo cho ứng dụng về các sự kiện hoặc thay đổi xảy ra trong WeaveHeartbeatSender.

SetRequestAck

void SetRequestAck(
  bool val
)

Đặt cờ cho biết liệu thông báo nhịp tim có được gửi một cách đáng tin cậy bằng tính năng Thông báo đáng tin cậy của Weave hay không.

Lưu ý rằng cờ này chỉ có ý nghĩa khi sử dụng UDP làm phương tiện truyền tải.

Thông tin chi tiết
Thông số
[in] val
Đúng nếu thông báo nhịp tim phải được gửi một cách đáng tin cậy.

SetSubscriptionState

void SetSubscriptionState(
  uint8_t val
)

Đặt trạng thái hiện tại của gói thuê bao.

Thông tin chi tiết
Thông số
[in] val
Giá trị trạng thái gói thuê bao 8 bit sẽ được truyền tải bằng thông báo nhịp tim.

Tắt

WEAVE_ERROR Shutdown(
  void
)

Tắt Trình gửi Heartbeat của Weave.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.

StartHeartbeat

WEAVE_ERROR StartHeartbeat(
  void
)

Bắt đầu gửi tin nhắn Heartbeat của Weave.

Thông tin chi tiết
Giá trị trả về
INET_ERROR_NO_MEMORY
nếu StartTimer() không thành công
WEAVE_NO_ERROR
khi thành công

StopHeartbeat

WEAVE_ERROR StopHeartbeat(
  void
)

Ngừng gửi tin nhắn Heartbeat của Weave.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
vô điều kiện

WeaveHeartbeatSender

 WeaveHeartbeatSender(
  void
)

Hàm tĩnh công khai

DefaultEventHandler

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

Hàm xử lý mặc định cho các sự kiện API WeaveHeartbeatSender.

Các ứng dụng phải gọi hàm này cho mọi sự kiện API mà chúng không xử lý.