En Google, luchamos por la equidad racial de la comunidad negra. Más información

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

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

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

Resumen

DMPublisher es la clase base estándar del publicador de WDM. Es una combinación de la clase Protocol Engine de DM, que controla el giro de maniobra y la clase PublisherDataManager completamente abstracta. La compatibilidad con suscripciones y notificaciones es opcional y se puede suprimir simplemente configurando una tabla de suscripciones 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)
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
Cierre 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 notificaciones y la tabla de suscripción.

DMPublisher

 DMPublisher(
  void
)

El constructor predeterminado para los objetos DMPublisher.

Borra todo el estado interno.

Finalizar

virtual void Finalize(
  void
)

Cierre un DMPublisher en funcionamiento.

Borra todo el estado operativo y desactiva el objeto de escucha si se está ejecutando.

IncompletaIndication (IncompletaIndication)

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 la conexión se cierra para una vinculación TCP, el motor de 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 toma un ID de par.

Detalles
Parámetros
[in] aBinding
Un puntero para la vinculación con errores.
[in] aReport
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 toda la gama de solicitudes de clientes, incluidas las de suscripción.

Detalles
Parámetros
[in] aExchangeMgr
Un puntero al objeto WeaveExchangeManager para usar en 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 espera una respuesta.
Qué muestra
WEAVE_NO_ERROR Si la operación fue exitosa De lo contrario, se mostrará un WEAVE_ERROR que reflejará una falla al configurar correctamente el editor.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

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

Actualizar respuesta

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
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 fue exitosa De lo contrario, se muestra un WEAVE_ERROR que refleja un error al enviar el mensaje de respuesta.

Ver respuesta

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 de procesar 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
Una referencia a un objeto StatusReport que contiene información sobre el estado de la solicitud. En los casos en que esto sea correcto, 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 codificados en TLV, que contiene los datos de interés y las rutas de acceso que indican la disposición de esos datos. Tenga en cuenta que este parámetro será NULL en caso de que el estado proporcionado en el parámetro anterior no se realice correctamente.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación se realiza correctamente De lo contrario, muestra un WEAVE_ERROR que refleja un error en el envío del mensaje de respuesta.
WEAVE_ERROR_INVALID_ARGUMENT
Si los parámetros proporcionados no coinciden
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar un búfer Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

El destructor para los objetos DMPublisher.

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