нл:: Переплетение:: Профили:: 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) | Update * |
NewView (void) | View * |
ПосмотретьЗапрос
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Запросить просмотр опубликованных данных.
Запросить представление данных, находящихся и управляемых указанным удаленным издателем.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
| ||||||||
Возврат | В противном случае WEAVE_ERROR отражает неспособность инициализировать или запустить транзакцию. |
ПосмотретьЗапрос
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Запросить просмотр данных об издателе по умолчанию.
Запросите представление данных, находящихся и управляемых издателем «по умолчанию», т. е. первым (или единственным) издателем в таблице привязки клиента.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
| ||||||
Возврат | В противном случае WEAVE_ERROR отражает неспособность инициализировать или запустить транзакцию. |
Запрос обновления
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Запросить обновление опубликованных данных.
Попросите удаленного издателя обновить данные, находящиеся под его управлением.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возврат | WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR_NO_MEMORY , если транзакция обновления не может быть выделена. В противном случае верните WEAVE_ERROR, отражающий сбой обновления. |
Запрос обновления
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t 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 )
Запросить отмену выполняющейся транзакции.
Этот метод не генерирует сетевой трафик, а просто освобождает ресурсы, выделенные для указанных транзакций.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR, отражающий неспособность отменить транзакцию. |
Прозрачный
virtual void Clear( void )
Очистите внутреннее состояние, связанное с объектом DMClient .
В частности, этот метод очищает все пулы клиентских транзакций. Для клиентов, которые уже использовались, метод Finalize() предпочтительнее, поскольку он также отменяет подписки и очищает таблицы транзакций и привязок.
См. также:Завершить()
DMClient
DMClient( void )
Завершить
virtual void Finalize( void )
Завершите работу работающего DMClient .
Очищает все рабочее состояние, связанное с клиентом, и удаляет все связанные подписки из уведомителя. После вызова Finalize() DMClient можно повторно инициализировать, просто вызвав Init(). Finalize() вызывается деструктором DMClient , но может быть вызвана в том случае, если DMClient требует очистки, например, в случае сбоя или временного завершения работы, но, возможно, потребуется восстановить его позднее.
Неполная индикация
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Обработка «неполноты» привязки, используемой клиентом.
Когда привязка неожиданно завершается сбоем, например, если соединение, участвующее в привязке, закрывается, вызывается этот метод.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
~DMClient
virtual ~DMClient( void )
Деструктор объектов DMClient .
Очищает все внутреннее состояние и, при необходимости, отменяет ожидающие подписки.
Защищенные функции
Новое обновление
Update * NewUpdate( void )
НовыйВью
View * NewView( void )