nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Es la clase base abstracta para clientes de WDM específicos de una 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 ProtocolEngine de DM, que controla el giro de las comunicaciones y la clase ClientDataManager completamente abstracta, con algunos de los métodos relacionados con las suscripciones implementados para que las capas superiores no tengan que preocuparse por ellos.
Los controladores para tareas relacionadas con las suscripciones actúan principalmente como un adaptador delgado sobre el objeto ClientNotifier. Los implementadores de subclases deben asegurarse de llamar a los métodos de superclase relevantes para poner en marcha la manivela del administrador de suscripciones.
Los métodos de solicitud de DMClient suelen tener 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á destinado a seleccionar entre varios destinos vinculados y, en el segundo, el primer elemento de la tabla de vinculación se selecciona como predeterminado. Esto es útil, por ejemplo, si el cliente estará vinculado a un solo publicador.
Herencia
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)
Destructor para 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 una actualización de los datos del publicador predeterminado.
|
Atributos protegidos |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funciones públicas |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Solicitar 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
Maneja la “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.
Solicite una vista de los datos que residen y que administra un publicador remoto específico.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
||||||||
Qué muestra |
De lo contrario, un WEAVE_ERROR que refleja el error en la inicialización o el inicio de 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.
Solicita una vista de los datos que residen y que administra el publicador "predeterminado", es decir, el primer (o único) publicador de la tabla de vinculación del cliente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
||||||
Qué muestra |
De lo contrario, un WEAVE_ERROR que refleja el error en la inicialización o el inicio de 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 |
|
||||||||
Qué 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 WEAVE_ERROR que refleja una falla de la actualización.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Solicita una 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 |
|
||||||
Qué 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 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 )
Solicitar 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 |
|
||||
Qué muestra |
WEAVE_NO_ERROR si la operación es exitosa o un WEAVE_ERROR que indica que no se pudo 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 del cliente. Para los clientes que han estado en uso, es preferible el método Finalize(), ya que también cancela suscripciones y limpia las tablas de transacciones y vinculaciones.
Consulta también:Finalize()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Cierra un DMClient en funcionamiento.
Borra todo el estado operativo asociado con el cliente y quita todas las suscripciones relacionadas del notificador. Después de una llamada a Finalize(), se puede volver a inicializar un DMClient con solo llamar a Init(). El destructor DMClient invoca Finalize(), pero se puede llamar cuando un DMClient requiere una limpieza, p.ej., en caso de fallas o cierre temporal, pero es posible que deba reconstruirse más adelante.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Maneja la “finalización” de una vinculación que usa el cliente.
Cuando una vinculación falla de forma inesperada, p.ej., si la conexión involucrada en la vinculación se cierra, se llama a este método.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
~Cliente DM
virtual ~DMClient( void )
Destructor para objetos DMClient.
Borra todos los estados internos y, si es necesario, cancela las suscripciones pendientes.