нл:: Переплетение:: Профили:: DataManagement_Legacy:: DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

Абстрактный базовый класс для издателей WDM, ориентированных на конкретные приложения.

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

DMPublisher — это стандартный базовый класс издателя WDM. Это смесь класса DM ProtocolEngine , который управляет поворотом рукоятки связи, и полностью абстрактного класса PublisherDataManager . Поддержка подписки и уведомлений не является обязательной и может быть отключена, просто настроив таблицу подписки без записей.

Наследование

Наследуется от:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

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

DMPublisher (void)
Конструктор по умолчанию для объектов DMPublisher .
~DMPublisher (void)
Деструктор объектов DMPublisher .

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

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Clear (void)
virtual void
Очистите внутреннее состояние объекта DMPublisher .
Finalize (void)
virtual void
Завершите работу работающего DMPublisher .
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Обработка индикации того, что привязка не удалась.
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Инициализируйте объект DMPublisher .
Init ( WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived ( ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse ( ExchangeContext *aResponseCtx, StatusReport & aStatus)
Ответ на запрос обновления.
ViewResponse ( ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Ответ на запрос просмотра.

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

ОтменаЗапросТранзакции

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Прозрачный

virtual void Clear(
  void
)

Очистите внутреннее состояние объекта DMPublisher .

Очищает пул транзакций уведомлений и таблицу подписок.

DMPublisher

 DMPublisher(
  void
)

Конструктор по умолчанию для объектов DMPublisher .

Очищает все внутреннее состояние.

Завершить

virtual void Finalize(
  void
)

Завершите работу работающего DMPublisher .

Очищает все рабочее состояние и выключает прослушиватель, если он работает.

Неполная индикация

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

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

Когда привязка становится неполной, т. е. когда соединение закрывается для привязки TCP, механизм протокола должен отклонять любые транзакции, которые от него зависят, включая вызов их обработчиков состояния. Кроме того, индикация неполноты передается любому объекту суперкласса, реализующему альтернативную форму этого метода, которая принимает идентификатор узла.

Подробности
Параметры
[in] aBinding
Указатель на неудачную привязку.
[in] aReport
Ссылка на объект StatusReport с подробным описанием причины сбоя.

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

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

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

Побочным эффектом этого метода является установка в диспетчере обмена прослушивателя для всего спектра клиентских запросов, возможно, включая запросы на подписку.

Подробности
Параметры
[in] aExchangeMgr
Указатель на объект WeaveExchangeManager , который будет использоваться для всех обменов, в которых желает участвовать издатель.
[in] aResponseTimeout
Таймаут ответа в миллисекундах, т.е. максимальное время ожидания ответа.
Возврат
WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающую неправильную настройку издателя.

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

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

ОбновлениеОтвет

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Ответ на запрос обновления.

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

Подробности
Параметры
[in] aResponseCtx
Указатель на контекст обмена, в котором был получен запрос.
[in] aStatus
Ссылка на объект StatusReport, содержащий информацию о статусе запроса.
Возврат
WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR, отражающий сбой при отправке ответного сообщения.

Посмотретьответ

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Ответ на запрос просмотра.

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

Подробности
Параметры
[in] aResponseCtx
Указатель на контекст обмена, в котором был получен запрос.
[in] aStatus
Ссылка на объект StatusReport, содержащий информацию о статусе запроса. В случае успеха запрашивающая сторона будет ожидать список данных, содержащий интересующие данные.
[in] aDataList
Указатель на необязательный объект ReferencedTLVData , содержащий список данных в кодировке TLV, содержащий интересующие данные, и пути, указывающие расположение этих данных. Обратите внимание, что этот параметр должен быть NULL в случае, если статус, указанный в предыдущем параметре, не является успешным.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе. В противном случае верните WEAVE_ERROR, отражающее сбой при отправке ответного сообщения.
WEAVE_ERROR_INVALID_ARGUMENT
Если заданные параметры несовместимы
WEAVE_ERROR_NO_MEMORY
Если не удалось выделить инет-буфер.

~DMPublisher

virtual  ~DMPublisher(
  void
)

Деструктор объектов DMPublisher .

Очищает все внутреннее состояние и удаляет прослушиватель из диспетчера обмена, если таковой имеется.