En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: Perfiles: DataManagement_Legacy :: DMClient

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

La clase base abstracta para clientes WDM específicos de la aplicación.

Resumen

DMClient es el cliente WDM estándar. La implementación incluye opcionalmente suscripción / notificación. Es una mezcla de la clase DM ProtocolEngine , que maneja el cambio de manivela de las comunicaciones, y la clase ClientDataManager totalmente abstracta, 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 delgado sobre el objeto ClientNotifier . Los implementadores de subclase deben tener cuidado de llamar a los métodos de superclase relevantes para hacer girar el administrador de suscripciones.

Los métodos de solicitud de DMClient generalmente tienen 2 firmas, una con un ID de nodo de destino explícito y la otra con un destino específico. En cualquier caso, la capacidad de enviar un mensaje a un editor depende de un enlace 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 caso, el primero. El elemento de la tabla de encuadernación está seleccionado de forma predeterminada. Esto es útil, por ejemplo, si el cliente solo estará vinculado a un único editor.

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)
El destructor de objetos DMClient .
ViewRequest (const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una vista de los datos publicados.
ViewRequest ( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una vista de los datos del editor predeterminado.
UpdateRequest (const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una actualización de los datos publicados.
UpdateRequest ( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una actualización de los datos del editor predeterminado.

Atributos protegidos

mUpdatePool [kUpdatePoolSize]
mViewPool [kViewPoolSize]

Funciones publicas

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Solicite que se cancele una transacción en ejecución.
Clear (void)
virtual void
Borre el estado interno asociado con un objeto DMClient .
Finalize (void)
virtual void
Apague un DMClient operativo.
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Manejar el "incompleto" de una encuadernación en uso por el cliente.

Funciones protegidas

NewUpdate (void)
NewView (void)
View *

ViewRequest

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

Solicite una vista de los datos publicados.

Solicite una vista de los datos que residen y administran un editor remoto específico.

Detalles
Parámetros
[in] aDestinationId
Una referencia al ID de nodo de 64 bits del editor remoto.
[in] aPathList
Una referencia a un objeto ReferencedTLVData que contiene una lista de ruta codificada en TLV que indica los datos solicitados.
[in] aTxnId
Un identificador para la transacción WDM configurada para administrar esta operación de vista.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar una transacción.
Devoluciones
De lo contrario, 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
)

Solicite una vista de los datos del editor predeterminado.

Solicite una vista de los datos que residen y administran el editor "predeterminado", es decir, el primer (o único) editor en la tabla de vinculación del cliente.

Detalles
Parámetros
[in] aPathList
Una referencia a un objeto ReferencedTLVData que contiene una lista de ruta codificada en TLV que indica los datos solicitados.
[in] aTxnId
Un identificador para la transacción WDM configurada para administrar esta operación de vista.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar una transacción.
Devoluciones
De lo contrario, un WEAVE_ERROR que refleja el error al inicializar o iniciar la transacción.

UpdateRequest

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

Solicite una actualización de los datos publicados.

Solicite que un editor remoto actualice los datos bajo administración.

Detalles
Parámetros
[in] aDestinationId
Una referencia al ID de nodo de 64 bits del editor remoto al que se envía la solicitud.
[in] aDataList
Una referencia a un objeto ReferencedTLVData que contiene una lista de datos codificados en 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 de la transacción configurada para gestionar la solicitud de actualización.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
Devoluciones
WEAVE_NO_ERROR en caso de éxito o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, devuelve un WEAVE_ERROR que refleja un error de actualización.

UpdateRequest

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

Solicite una actualización de los datos del editor predeterminado.

Solicite que un editor remoto actualice los datos bajo administración. Esta versión dirige la solicitud al editor que es el destino del enlace predeterminado del cliente.

Detalles
Parámetros
[in] aDataList
Una referencia a un objeto ReferencedTLVData que contiene una lista de datos codificados en 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 de la transacción configurada para gestionar la solicitud de actualización.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
Devoluciones
WEAVE_NO_ERROR en caso de éxito o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, devuelve un WEAVE_ERROR que refleja un error de actualización.

Atributos protegidos

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Funciones publicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Solicite que se cancele una transacción en ejecución.

Este método no genera tráfico de red, solo libera los recursos asignados para las transacciones especificadas

Detalles
Parámetros
[in] aTxnId
El número de la transacción que se cancelará. Si se proporciona kTransactionIdNotSpecified, se cancelarán todas las transacciones.
[in] aError
El WEAVE_ERROR para informar al cancelar la transacción.
Devoluciones
WEAVE_NO_ERROR en caso de éxito o un WEAVE_ERROR que refleja un error al cancelar la transacción.

Claro

virtual void Clear(
  void
)

Borre el estado interno asociado con un objeto DMClient .

En particular, este método borra todos los grupos de transacciones de los clientes. Para los clientes que han estado en uso, es preferible el método Finalize () , ya que también cancela las suscripciones y limpia las tablas de transacciones y enlaces.

Ver también:
Finalizar()

DMClient

 DMClient(
  void
)

El constructor predeterminado para los objetos DMClient .

Borra todo el estado interno. Un DMClient requiere una mayor inicialización con Init () antes de su uso.

Finalizar

virtual void Finalize(
  void
)

Apague un DMClient operativo.

Borra todo el estado operativo asociado con el cliente y elimina todas las suscripciones relacionadas del notificador. Después de una llamada a Finalize (), un DMClient puede reiniciarse simplemente llamando a Init (). Finalize () es invocado por el destructor DMClient pero puede ser llamado en el caso donde un DMClient requiera limpieza, por ejemplo, en caso de falla o apagado temporal, pero puede necesitar ser reconstituido en algún momento posterior.

Indicación incompleta

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

Manejar el "incompleto" de una encuadernación en uso por el cliente.

Cuando un enlace falla inesperadamente, por ejemplo, si se cierra la conexión involucrada en el enlace, se llama a este método.

Detalles
Parámetros
[in] aBinding
Un puntero al enlace que se ha vuelto incompleto.
[in] aReport
Una referencia a un informe de estado que explica la razón del error.

~ DMClient

virtual  ~DMClient(
  void
)

El destructor de objetos DMClient .

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

Funciones protegidas

Nueva actualización

Update * NewUpdate(
  void
)

Nueva vista

View * NewView(
  void
)