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

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

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

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

DMClient — стандартный клиент WDM. Реализация опционально включает в себя подписку/уведомление. Это смесь класса DM ProtocolEngine , который управляет поворотом рукоятки связи, и полностью абстрактного класса ClientDataManager с некоторыми методами, связанными с подпиской, реализованными так, что более высоким уровням не нужно о них беспокоиться.

Обработчики задач, связанных с подпиской, в основном действуют как тонкий адаптер над объектом ClientNotifier . Разработчики подклассов должны позаботиться о вызове соответствующих методов суперкласса, чтобы запустить менеджер подписок.

Методы запроса DMClient обычно имеют две подписи: одну с явным идентификатором узла назначения, а другую с указанным местом назначения. В любом случае возможность отправить сообщение издателю зависит от уже существующей привязки в клиенте, но в первом случае идентификатор пункта назначения предназначен для выбора между несколькими привязанными пунктами назначения и, во втором случае, первым элемент в таблице привязки выбран по умолчанию. Это полезно, например, если клиент будет привязан только к одному издателю.

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

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

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

DMClient (void)
Конструктор по умолчанию для объектов DMClient .
~DMClient (void)
Деструктор объектов DMClient .
ViewRequest (const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Запросить просмотр опубликованных данных.
ViewRequest ( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Запросить просмотр данных об издателе по умолчанию.
UpdateRequest (const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Запросить обновление опубликованных данных.
UpdateRequest ( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Запросить обновление данных об издателе по умолчанию.

Защищенные атрибуты

mUpdatePool [kUpdatePoolSize]
mViewPool [kViewPoolSize]

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

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Запросить отмену выполняющейся транзакции.
Clear (void)
virtual void
Очистите внутреннее состояние, связанное с объектом DMClient .
Finalize (void)
virtual void
Завершите работу работающего DMClient .
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Обработка «незавершенности» привязки, используемой клиентом.

Защищенные функции

NewUpdate (void)
NewView (void)
View *

ПосмотретьЗапрос

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Запросить просмотр опубликованных данных.

Запросить представление данных, находящихся и управляемых указанным удаленным издателем.

Подробности
Параметры
[in] aDestinationId
Ссылка на 64-битный идентификатор узла удаленного издателя.
[in] aPathList
Ссылка на объект ReferencedTLVData , содержащий список путей в кодировке TLV, указывающий запрошенные данные.
[in] aTxnId
Идентификатор транзакции WDM, установленный для управления этой операцией просмотра.
[in] aTimeout
Максимальное время ожидания ответа на просмотр в миллисекундах.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NO_MEMORY
Если транзакция не может быть выделена.
Возврат
В противном случае — WEAVE_ERROR , отражающий неспособность инициализировать или запустить транзакцию.

ПосмотретьЗапрос

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Запросить просмотр данных об издателе по умолчанию.

Запросите представление данных, находящихся и управляемых издателем «по умолчанию», т. е. первым (или единственным) издателем в таблице привязки клиента.

Подробности
Параметры
[in] aPathList
Ссылка на объект ReferencedTLVData , содержащий список путей в кодировке TLV, указывающий запрошенные данные.
[in] aTxnId
Идентификатор транзакции WDM, установленный для управления этой операцией просмотра.
[in] aTimeout
Максимальное время ожидания ответа на просмотр в миллисекундах.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NO_MEMORY
Если транзакция не может быть выделена.
Возврат
В противном случае — WEAVE_ERROR , отражающий неспособность инициализировать или запустить транзакцию.

Запрос обновления

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Запросить обновление опубликованных данных.

Попросите удаленного издателя обновить данные, находящиеся под его управлением.

Подробности
Параметры
[in] aDestinationId
Ссылка на 64-битный идентификатор узла удаленного издателя, которому отправляется запрос.
[in] aDataList
Ссылка на объект ReferencedTLVData , содержащий список данных в кодировке TLV, содержащий представление обновления, включая пути, к которым это обновление должно быть применено.
[in] aTxnId
Идентификатор транзакции, настроенный для управления запросом на обновление.
[in] aTimeout
Максимальное время ожидания соответствующего отчета о состоянии в миллисекундах.
Возврат
WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR_NO_MEMORY , если транзакция обновления не может быть выделена. В противном случае верните WEAVE_ERROR , отражающий сбой обновления.

Запрос обновления

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Запросить обновление данных об издателе по умолчанию.

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

Подробности
Параметры
[in] aDataList
Ссылка на объект ReferencedTLVData , содержащий список данных в кодировке TLV, содержащий представление обновления, включая пути, к которым это обновление должно быть применено.
[in] aTxnId
Идентификатор транзакции, настроенный для управления запросом на обновление.
[in] aTimeout
Максимальное время ожидания соответствующего отчета о состоянии в миллисекундах.
Возврат
WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR_NO_MEMORY , если транзакция обновления не может быть выделена. В противном случае верните WEAVE_ERROR , отражающий сбой обновления.

Защищенные атрибуты

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

мвиевпул

View mViewPool[kViewPoolSize]

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

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

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Запросить отмену выполняющейся транзакции.

Этот метод не генерирует сетевой трафик, а просто освобождает ресурсы, выделенные для указанных транзакций.

Подробности
Параметры
[in] aTxnId
Номер транзакции, которую необходимо отменить. Если указан kTransactionIdNotSpecified, все транзакции будут отменены.
[in] aError
WEAVE_ERROR , о котором сообщается при отмене транзакции.
Возврат
WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR , отражающий неспособность отменить транзакцию.

Прозрачный

virtual void Clear(
  void
)

Очистите внутреннее состояние, связанное с объектом DMClient .

В частности, этот метод очищает все пулы клиентских транзакций. Для клиентов, которые уже использовались, метод Finalize() предпочтительнее, поскольку он также отменяет подписки и очищает таблицы транзакций и привязок.

Смотрите также:
Завершить()

DMClient

 DMClient(
  void
)

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

Очищает все внутреннее состояние. Перед использованием DMClient требует дальнейшей инициализации с помощью Init().

Завершить

virtual void Finalize(
  void
)

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

Очищает все рабочее состояние, связанное с клиентом, и удаляет все связанные подписки из уведомителя. После вызова Finalize() DMClient можно повторно инициализировать, просто вызвав Init(). Finalize() вызывается деструктором DMClient , но может быть вызвана в том случае, если DMClient требует очистки, например, в случае сбоя или временного завершения работы, но, возможно, потребуется восстановить его позднее.

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

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

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

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

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

~DMClient

virtual  ~DMClient(
  void
)

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

Очищает все внутреннее состояние и, при необходимости, отменяет ожидающие подписки.

Защищенные функции

Новое обновление

Update * NewUpdate(
  void
)

НовыйВью

View * NewView(
  void
)