нл:: Переплетение:: WeaveExchangeManager

#include <src/lib/core/WeaveExchangeMgr.h>

Этот класс используется для управления ExchangeContexts с другими узлами Weave.

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

Он работает от имени более высоких уровней, создавая ExchangeContexts и обрабатывая регистрацию/отмену регистрации обработчиков нежелательных сообщений.

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

WeaveExchangeManager (void)
Конструктор класса WeaveExchangeManager .

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

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
перечисление

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

FabricState
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект FabricState.
MessageLayer
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveMessageLayer .
State
uint8_t
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Состояние объекта WeaveExchangeManager .

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

AllowUnsolicitedMessages ( WeaveConnection *con)
void
Разрешить получение нежелательных сообщений по указанному соединению.
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
Снимите флаг MsgCounterSyncReq для всех ожидающих сообщений этому узлу.
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Найдите ExchangeContext из пула, соответствующего заданному набору параметров.
Init ( WeaveMessageLayer *msgLayer)
Инициализируйте объект WeaveExchangeManager .
NewBinding (Binding::EventCallback eventCallback, void *appState)
Выделите новую привязку с предоставленными аргументами.
NewContext (const uint64_t & peerNodeId, void *appState)
Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла и IP-адресом однорангового узла.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла, IP-адресом однорангового узла и портом назначения на указанном интерфейсе.
NewContext ( WeaveConnection *con, void *appState)
Создает новый ExchangeContext с заданным одноранговым узлом Weave через указанный WeaveConnection .
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Зарегистрируйте обработчик нежелательных сообщений для данного идентификатора профиля.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Зарегистрируйте обработчик нежелательных сообщений для данного идентификатора профиля.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Зарегистрируйте обработчик нежелательных сообщений для заданного идентификатора профиля и типа сообщения.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Зарегистрируйте обработчик нежелательных сообщений для заданного идентификатора профиля и типа сообщения.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Зарегистрируйте обработчик незапрошенных сообщений для заданного идентификатора профиля и типа сообщения в указанном соединении Weave.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Зарегистрируйте обработчик незапрошенных сообщений для заданного идентификатора профиля и типа сообщения в указанном соединении Weave.
Shutdown (void)
Завершите работу WeaveExchangeManager .
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
Отмените регистрацию обработчика нежелательных сообщений для данного идентификатора профиля.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
Отмените регистрацию обработчика нежелательных сообщений для данного идентификатора профиля и типа сообщения.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Отмените регистрацию обработчика незапрошенных сообщений для данного идентификатора профиля, типа сообщения и соединения Weave.

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

Состояние

 State
Характеристики
kState_Initialized

Используется для указания того, что WeaveExchangeManager инициализирован.

kState_NotInitialized

Используется для указания того, что WeaveExchangeManager не инициализирован.

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

Состояние Фабрики

WeaveFabricState * FabricState

[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект FabricState.

Слой сообщений

WeaveMessageLayer * MessageLayer

[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveMessageLayer .

Состояние

uint8_t State

[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Состояние объекта WeaveExchangeManager .

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

Разрешить нежелательные сообщения

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Разрешить получение нежелательных сообщений по указанному соединению.

Этот метод устанавливает обработчик приема сообщений для данного соединения Weave.

Подробности
Параметры
[in] con
Указатель на объект соединения Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Снимите флаг MsgCounterSyncReq для всех ожидающих сообщений этому узлу.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла назначения.

Найтиконтекст

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Найдите ExchangeContext из пула, соответствующего заданному набору параметров.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла узла, с которым был настроен ExchangeContext .
[in] con
Указатель на объект WeaveConnection , представляющий TCP-соединение с одноранговым узлом.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
[in] isInitiator
Логический индикатор того, является ли локальный узел инициатором обмена.
Возврат
Указатель на объект ExchangeContext , соответствующий предоставленным параметрам. В случае успеха значение NULL в случае отсутствия совпадения.

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

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Инициализируйте объект WeaveExchangeManager .

В течение жизни этого экземпляра этот метод вызывается один раз после создания объекта, пока не будет выполнен вызов Shutdown для завершения экземпляра.

Подробности
Параметры
[in] msgLayer
Указатель на объект WeaveMessageLayer .
Возвращаемые значения
WEAVE_ERROR_INCORRECT_STATE
Если состояние не равно kState_NotInitialized.
WEAVE_NO_ERROR
Об успехе.

Новая привязка

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Выделите новую привязку с предоставленными аргументами.

Подробности
Параметры
[in] eventCallback
Указатель функции, который будет использоваться для обратного вызова события.
[in] appState
Указатель на некоторый контекст, который позже будет перенесен в обратном вызове события.
Возврат
Указатель на вновь выделенный Binding или NULL, если пул исчерпан.

НовыйКонтекст

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла узла, с которым настраивается ExchangeContext .
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возврат
Указатель на созданный объект ExchangeContext . При успехе. В противном случае NULL, если ни один объект не может быть выделен или недоступен.

НовыйКонтекст

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла и IP-адресом однорангового узла.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла узла, с которым настраивается ExchangeContext .
[in] peerAddr
IP-адрес однорангового узла.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возврат
Указатель на созданный объект ExchangeContext . При успехе. В противном случае NULL, если ни один объект не может быть выделен или недоступен.

НовыйКонтекст

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Создает новый ExchangeContext с заданным одноранговым узлом Weave, указанным идентификатором однорангового узла, IP-адресом однорангового узла и портом назначения на указанном интерфейсе.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла узла, с которым настраивается ExchangeContext .
[in] peerAddr
IP-адрес однорангового узла.
[in] peerPort
Порт однорангового узла.
[in] sendIntfId
Интерфейс, используемый для отправки сообщений Weave на этом обмене.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возврат
Указатель на созданный объект ExchangeContext . При успехе. В противном случае — NULL, если ни один объект не может быть выделен или недоступен.

НовыйКонтекст

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Создает новый ExchangeContext с заданным одноранговым узлом Weave через указанный WeaveConnection .

Подробности
Параметры
[in] con
Указатель на объект WeaveConnection , представляющий TCP-соединение с одноранговым узлом.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возврат
Указатель на созданный объект ExchangeContext . При успехе. В противном случае NULL, если ни один объект не может быть выделен или недоступен.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Зарегистрируйте обработчик нежелательных сообщений для данного идентификатора профиля.

Этот обработчик будет вызываться для всех сообщений данного профиля.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] handler
Обработчик нежелательных сообщений.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Зарегистрируйте обработчик нежелательных сообщений для данного идентификатора профиля.

Этот обработчик будет вызываться для всех сообщений данного профиля.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] handler
Обработчик нежелательных сообщений.
[in] allowDups
Логический индикатор того, разрешены ли дублирующиеся сообщения для данного профиля.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Зарегистрируйте обработчик нежелательных сообщений для заданного идентификатора профиля и типа сообщения.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
[in] handler
Обработчик нежелательных сообщений.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Зарегистрируйте обработчик нежелательных сообщений для заданного идентификатора профиля и типа сообщения.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
[in] handler
Обработчик нежелательных сообщений.
[in] allowDups
Логический индикатор того, разрешены ли дублирующиеся сообщения для данного идентификатора профиля и типа сообщения.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Зарегистрируйте обработчик незапрошенных сообщений для заданного идентификатора профиля и типа сообщения в указанном соединении Weave.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
[in] con
Указатель на объект WeaveConnection , представляющий TCP-соединение с одноранговым узлом.
[in] handler
Обработчик нежелательных сообщений.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Обработчик нежелательного сообщения

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Зарегистрируйте обработчик незапрошенных сообщений для заданного идентификатора профиля и типа сообщения в указанном соединении Weave.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
[in] con
Указатель на объект WeaveConnection , представляющий TCP-соединение с одноранговым узлом.
[in] handler
Обработчик нежелательных сообщений.
[in] allowDups
Логический индикатор того, разрешены ли дублирующиеся сообщения для данного идентификатора профиля и типа сообщения в указанном соединении Weave.
[in] appState
Указатель на объект более высокого уровня, который содержит состояние контекста.
Возвращаемые значения
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Если пул обработчиков незапрошенных сообщений заполнен и невозможно выделить новый.
WEAVE_NO_ERROR
Об успехе.

Неисправность

WEAVE_ERROR Shutdown(
  void
)

Завершите работу WeaveExchangeManager .

Это завершает работу данного экземпляра объекта и освобождает все удерживаемые ресурсы.

Подробности
Возврат
WEAVE_NO_ERROR безусловно.

Отменить регистрациюUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Отмените регистрацию обработчика нежелательных сообщений для данного идентификатора профиля.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
Возвращаемые значения
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Если соответствующий обработчик нежелательных сообщений не найден.
WEAVE_NO_ERROR
Об успехе.

Отменить регистрациюUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Отмените регистрацию обработчика нежелательных сообщений для данного идентификатора профиля и типа сообщения.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
Возвращаемые значения
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Если соответствующий обработчик нежелательных сообщений не найден.
WEAVE_NO_ERROR
Об успехе.

Отменить регистрациюUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Отмените регистрацию обработчика незапрошенных сообщений для данного идентификатора профиля, типа сообщения и соединения Weave.

Подробности
Параметры
[in] profileId
Идентификатор профиля полученного сообщения.
[in] msgType
Тип сообщения соответствующего профиля.
[in] con
Указатель на объект WeaveConnection , представляющий TCP-соединение с одноранговым узлом.
Возвращаемые значения
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Если соответствующий обработчик нежелательных сообщений не найден.
WEAVE_NO_ERROR
Об успехе.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Конструктор класса WeaveExchangeManager .

Он устанавливает состояние kState_NotInitialized.