nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

Es la clase base abstracta para editores de WDM específicos de la aplicación.

Resumen

DMPublisher es la clase de base del publicador de WDM estándar. Es una combinación de la clase ProtocolEngine de DM, que controla el giro de manivela de las comunicaciones y la clase PublisherDataManager completamente abstracta. La compatibilidad con la suscripción y la notificación es opcional y se puede eliminar simplemente configurando una tabla de suscripción sin entradas.

Herencia

Hereda de:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Constructores y destructores

DMPublisher(void)
El constructor predeterminado para los objetos DMPublisher.
~DMPublisher(void)
Destructor de objetos DMPublisher.

Funciones públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Borra el estado interno del objeto DMPublisher.
Finalize(void)
virtual void
Cierra un DMPublisher en funcionamiento.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Controla una indicación de que una vinculación falló.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Inicializa un objeto DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Responde a una solicitud de actualización.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Responde a una solicitud de vista.

Funciones públicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Borrar

virtual void Clear(
  void
)

Borra el estado interno del objeto DMPublisher.

Borra el grupo de transacciones de notificación y la tabla de suscripciones.

DMPublisher

 DMPublisher(
  void
)

El constructor predeterminado para los objetos DMPublisher.

Borra todo el estado interno.

Finalizar

virtual void Finalize(
  void
)

Cierra un DMPublisher en funcionamiento.

Borra todo el estado operativo y cierra el objeto de escucha si hay uno en ejecución.

IncompleteIndication

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

Controla una indicación de que una vinculación falló.

Cuando una vinculación se vuelve incompleta, es decir, cuando se cierra la conexión por una vinculación TCP, el motor de protocolo debe fallar en todas las transacciones que dependan de ella, lo que incluye llamar a sus controladores de estado. Además, la indicación incompleta se pasa a cualquier objeto de superclase que implemente la forma alternativa de este método que toma un ID de par.

Detalles
Parámetros
[in] aBinding
Un puntero para la vinculación con errores.
[in] aReport
Una referencia a un objeto StatusReport que detalla el motivo del error.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Inicializa un objeto DMPublisher.

Este método tiene el efecto secundario de instalar un objeto de escucha en el administrador de Exchange para todo el rango de solicitudes de clientes, incluidas las de suscripción.

Detalles
Parámetros
[in] aExchangeMgr
Un puntero al objeto WeaveExchangeManager que se usa para todos los intercambios en los que el editor desea participar.
[in] aResponseTimeout
Un tiempo de espera de respuesta en milisegundos, es decir, el tiempo máximo que se debe esperar una respuesta.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja un error en la configuración del publicador de manera correcta.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Responde a una solicitud de actualización.

Envía la respuesta a una solicitud de actualización después del procesamiento, mediante el contexto de intercambio que se proporcionó en la indicación.

Detalles
Parámetros
[in] aResponseCtx
Un puntero al contexto de intercambio en el que se recibió la solicitud.
[in] aStatus
Es una referencia a un objeto StatusReport que contiene información sobre el estado de la solicitud.
Qué muestra
WEAVE_NO_ERROR Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja un error al enviar el mensaje de respuesta.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Responde a una solicitud de vista.

Envía la respuesta a una solicitud de vista después del procesamiento, mediante el contexto de intercambio que se proporcionó en la indicación.

Detalles
Parámetros
[in] aResponseCtx
Un puntero al contexto de intercambio en el que se recibió la solicitud.
[in] aStatus
Es una referencia a un objeto StatusReport que contiene información sobre el estado de la solicitud. En caso de que esto sea exitoso, el solicitante esperará una lista de datos que contenga los datos de interés.
[in] aDataList
Un puntero para un objeto ReferencedTLVData opcional que contiene una lista de datos codificada en TLV con los datos de interés y las rutas de acceso que indican la disposición de esos datos. Ten en cuenta que este parámetro será NULL en caso de que el estado proporcionado en el parámetro anterior no sea correcto.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa. De lo contrario, muestra un WEAVE_ERROR que refleja un error al enviar el mensaje de respuesta.
WEAVE_ERROR_INVALID_ARGUMENT
Si los parámetros dados no son coherentes
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar un búfer Inet.

~Publicador DM

virtual  ~DMPublisher(
  void
)

Destructor de objetos DMPublisher.

Borra todo el estado interno y quita el objeto de escucha del administrador de intercambio si hay uno implementado.