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

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

La clase básica abstracta para editores de WDM específicos de la aplicación.

Resumen

DMPublisher es la clase base del publicador de WDM estándar. Es una combinación de la clase de DM ProtocolEngine, que controla la rotación de comunicaciones, y la clase completamente abstracta PublisherDataManager. La compatibilidad con la suscripción y la notificación es opcional y se puede suprimir fácilmente configurando una tabla de suscripciones sin entradas.

Herencia

Se 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)
El destructor para los 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 queda incompleta, es decir, cuando se cierra la conexión para una vinculación de TCP, el motor del protocolo debe fallar cualquier transacción que dependa 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 tome un ID de par.

Detalles
Parámetros
[in] aBinding
Un puntero a 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 intercambio para el rango completo de solicitudes de clientes que posiblemente incluyan las de suscripciones.

Detalles
Parámetros
[in] aExchangeMgr
Un puntero al objeto WeaveExchangeManager para usar en todos los intercambios en los que el editor desee participar.
[in] aResponseTimeout
Es un tiempo de espera de respuesta en milisegundos, es decir, el tiempo máximo para esperar una respuesta.
Resultado que se muestra
WEAVE_NO_ERROR si la operación es exitosa. De lo contrario, muestra un error WEAVE_ERROR que indica que no se pudo configurar correctamente el publicador.

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, utilizando el contexto de intercambio que se proporcionó en la indicación.

Detalles
Parámetros
[in] aResponseCtx
Un puntero al contexto del 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.
Resultado que se 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, utilizando el contexto de intercambio que se proporcionó en la indicación.

Detalles
Parámetros
[in] aResponseCtx
Un puntero al contexto del 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 éxito, el solicitante esperará una lista de datos que contenga la información de interés.
[in] aDataList
Un puntero hacia un objeto ReferencedTLVData opcional que contiene una lista de datos con codificación TLV que contiene los datos de interés y las rutas que indican la disposición de esos datos. Ten en cuenta que este parámetro debe ser NULL en caso de que el estado que se proporcionó en el parámetro anterior no sea correcto.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito. 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
Un búfer de Inet no se pudo asignar.

~DMPublisher

virtual  ~DMPublisher(
  void
)

El destructor para los objetos DMPublisher.

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