нл:: Переплетение:: Профили:: Сердцебиение:: WeaveHeartbeatОтправитель

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

Класс Weave Heartbeat Sender.

Краткое содержание

Конструкторы и деструкторы

WeaveHeartbeatSender (void)

Публичные типы

EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) определение типа
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
Возвращает флаг, указывающий, будут ли сообщения Heartbeat отправляться надежно с использованием 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
Функция обработчика по умолчанию для событий API WeaveHeartbeatSender .

Структуры

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

Входные параметры для события API WeaveHeartbeatSender .

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

Выходные параметры для события API WeaveHeartbeatSender .

Публичные типы

Обратный вызов события

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

тип события

 EventType
Характеристики
kEvent_DefaultCheck

Используется для проверки правильности обработки событий по умолчанию в приложении.

Приложения НЕ должны явно обрабатывать это событие.

kEvent_HeartbeatFailed

Не удалось отправить сообщение Heartbeat партнеру.

kEvent_HeartbeatSent

Сообщение Heartbeat было успешно отправлено узлу.

Если надежная передача включена, это событие указывает на то, что сообщение было подтверждено.

kEvent_UpdateSubscriptionState

Приложению предлагается обновить состояние подписки.

Публичные атрибуты

состояние приложения

void * AppState

Общественные функции

Получить привязку

Binding * GetBinding() const 

Получите объект привязки, связанный с отправителем контрольного сигнала.

Получить конфигурацию

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 

Возвращает флаг, указывающий, будут ли сообщения Heartbeat отправляться надежно с использованием Weave Reliable Messaging.

GetSubscriptionState

uint8_t GetSubscriptionState() const 

Получите текущее значение состояния подписки.

Инициализировать

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
об успехе

ОтправитьHeartbeatNow

WEAVE_ERROR SendHeartbeatNow(
  void
)

Отправьте сообщение Weave Heartbeat прямо сейчас.

Подробности
Возвращаемые значения
WEAVE_ERROR_INCORRECT_STATE
если WeaveHeartbeatSender не инициализирован
WEAVE_NO_ERROR
об успехе

Установитьконфигурацию

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
Об успехе.

НачалоСердцебиение

WEAVE_ERROR StartHeartbeat(
  void
)

Начните отправлять сообщения Weave Heartbeat .

Подробности
Возвращаемые значения
INET_ERROR_NO_MEMORY
если StartTimer() не удалось
WEAVE_NO_ERROR
об успехе

СтопСердцебиение

WEAVE_ERROR StopHeartbeat(
  void
)

Прекратите отправку сообщений Weave Heartbeat .

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
безоговорочно

WeaveHeartbeatОтправитель

 WeaveHeartbeatSender(
  void
)

Публичные статические функции

Обработчик событий по умолчанию

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

Функция обработчика по умолчанию для событий API WeaveHeartbeatSender .

Приложения должны вызывать эту функцию для любых событий API, которые они не обрабатывают.