nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Clase básica abstracta para clientes de WDM específicos de la aplicación.
Resumen
DMClient es el cliente de WDM estándar. De manera opcional, la implementación incluye una suscripción o notificación. Es una combinación de la clase de DM ProtocolEngine, que controla la rotación de comunicaciones, y la clase completamente abstracta de ClientDataManager, con algunos de los métodos relacionados con la suscripción implementados para que las capas superiores no tengan que preocuparse por ellos.
Los controladores para tareas relacionadas con la suscripción actúan, principalmente, como un adaptador estrecho sobre el objeto ClientNotifier. Los implementadores de subclases deben llamar a los métodos relevantes de superclase para girar el control de la suscripción del administrador.
Los métodos de solicitud DMClient generalmente tienen 2 firmas, una con un ID de nodo de destino explícito y la otra con un destino especificado. En cualquier caso, la capacidad de enviar un mensaje a un publicador depende de una vinculación preexistente en el cliente, pero, en el primer caso, el ID de destino está pensado para seleccionar entre varios destinos vinculados y, en el segundo caso, el primer elemento de la tabla de vinculación se selecciona de forma predeterminada. Esto es útil, por ejemplo, si el cliente estará vinculado a un solo publicador.
Herencia
Se hereda de:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Constructores y destructores |
|
---|---|
DMClient(void)
El constructor predeterminado para los objetos DMClient.
|
|
~DMClient(void)
El destructor para los objetos DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicita una vista de los datos publicados.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicita una vista de los datos del publicador predeterminado.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicita una actualización de los datos publicados.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicita la actualización de los datos del publicador predeterminado.
|
Atributos protegidos |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funciones públicas |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Solicita que se cancele una transacción en ejecución.
|
Clear(void)
|
virtual void
Borra el estado interno asociado con un objeto DMClient.
|
Finalize(void)
|
virtual void
Cierra un DMClient en funcionamiento.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Cómo controlar la falta de finalización de una vinculación que usa el cliente.
|
Funciones protegidas |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Solicita una vista de los datos publicados.
Solicita una vista de los datos que residen y que administra un publicador remoto específico.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
||||||||
Resultado que se muestra |
De lo contrario, es un WEAVE_ERROR que refleja la falla al inicializar o iniciar la transacción.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Solicita una vista de los datos del publicador predeterminado.
Solicitar una vista de los datos que residen y se administran mediante la opción “predeterminada” publicador, es decir, el primer (o único) publicador de la tabla de vinculación del cliente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
||||||
Resultado que se muestra |
De lo contrario, es un WEAVE_ERROR que refleja la falla al inicializar o iniciar la transacción.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Solicita una actualización de los datos publicados.
Solicitar que un publicador remoto actualice los datos administrados
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Resultado que se muestra |
WEAVE_NO_ERROR si la operación es exitosa o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, muestra un error WEAVE_ERROR que refleja una falla de la actualización.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Solicita la actualización de los datos del publicador predeterminado.
Solicitar que un publicador remoto actualice los datos administrados Esta versión dirige la solicitud al publicador que es el destino de la vinculación predeterminada del cliente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Resultado que se muestra |
WEAVE_NO_ERROR si la operación es exitosa o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, muestra un error WEAVE_ERROR que refleja una falla de la actualización.
|
Atributos protegidos
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Funciones públicas
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Solicita que se cancele una transacción en ejecución.
Este método no genera tráfico de red, sino que libera recursos asignados para las transacciones especificadas
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Resultado que se muestra |
WEAVE_NO_ERROR si se realiza correctamente o un WEAVE_ERROR que refleja un error al cancelar la transacción.
|
Borrar
virtual void Clear( void )
Borra el estado interno asociado con un objeto DMClient.
En particular, este método borra todos los grupos de transacciones de clientes. Para los clientes que estuvieron en uso, se prefiere el método Finalize(), ya que también cancela las suscripciones y limpia las tablas de transacciones y vinculaciones.
También:Finalize()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Cierra un DMClient en funcionamiento.
Borra todo el estado operativo asociado al cliente y quita todas las suscripciones relacionadas del notificador. Después de una llamada a Finalize(), un DMClient se puede reinicializar con tan solo llamar a Init(). El destructor DMClient invoca a Finalize(), pero se puede llamar en los casos en que un DMClient requiera limpieza, p.ej., en caso de falla o un cierre temporal, pero es posible que deba reconstruirse más adelante.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Cómo controlar la falta de finalización de una vinculación que usa el cliente.
Cuando una vinculación falla inesperadamente, p.ej., si se cierra la conexión involucrada en la vinculación, se llama a este método.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
~DMClient
virtual ~DMClient( void )
El destructor para los objetos DMClient.
Borra todo el estado interno y, si es necesario, cancela las suscripciones pendientes.