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
[in] aDestinationId
Es una referencia al ID de nodo de 64 bits del publicador remoto.
[in] aPathList
Una referencia a un objeto ReferencedTLVData que contiene una lista de rutas codificadas con TLV que indica los datos solicitados.
[in] aTxnId
Un identificador para la transacción de WDM configurado para administrar esta operación de vista.
[in] aTimeout
Es un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NO_MEMORY
Indica si no se pudo asignar una transacción.
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
[in] aPathList
Una referencia a un objeto ReferencedTLVData que contiene una lista de rutas codificadas con TLV que indica los datos solicitados.
[in] aTxnId
Un identificador para la transacción de WDM configurado para administrar esta operación de vista.
[in] aTimeout
Es un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NO_MEMORY
Indica si no se pudo asignar una transacción.
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
[in] aDestinationId
Una referencia al ID de nodo de 64 bits del publicador remoto al que se envía la solicitud.
[in] aDataList
Es una referencia a un objeto ReferencedTLVData que contiene una lista de datos con codificación TLV que contiene una representación de la actualización, incluidas las rutas a las que se aplicará la actualización.
[in] aTxnId
Un identificador para la transacción configurada para administrar la solicitud de actualización.
[in] aTimeout
Es un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
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
[in] aDataList
Es una referencia a un objeto ReferencedTLVData que contiene una lista de datos con codificación TLV que contiene una representación de la actualización, incluidas las rutas a las que se aplicará la actualización.
[in] aTxnId
Un identificador para la transacción configurada para administrar la solicitud de actualización.
[in] aTimeout
Es un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
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
[in] aTxnId
Es el número de la transacción que se cancelará. Si se proporciona kTransactionIdNotSpecify, se cancelarán todas las transacciones.
[in] aError
Es el WEAVE_ERROR que se debe informar cuando se cancela la transacción.
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
)

El constructor predeterminado para los objetos DMClient.

Borra todo el estado interno. Un DMClient requiere una inicialización adicional con Init() antes de usarlo.

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
[in] aBinding
Un puntero a la Binding que se volvió incompleta.
[in] aReport
Una referencia a un informe de estado que brinda un motivo de la falla.

~DMClient

virtual  ~DMClient(
  void
)

El destructor para los objetos DMClient.

Borra todo el estado interno y, si es necesario, cancela las suscripciones pendientes.

Funciones protegidas

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)