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

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

A classe de base abstrata para editores WDM específicos do aplicativo.

Resumo

DMPublisher é a classe base do editor WDM padrão. Ela é uma combinação da classe ProtocolEngine DM, que lida com o giro de manivelas de comunicação, e a classe PublisherDataManager totalmente abstrata. O suporte para assinatura e notificação é opcional e pode ser suprimido simplesmente configurando uma tabela de assinatura sem entradas.

Herança

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

Construtores e destruidores

DMPublisher(void)
O construtor padrão para objetos DMPublisher.
~DMPublisher(void)
O destrutor de objetos DMPublisher.

Funções públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Limpe o estado interno do objeto DMPublisher.
Finalize(void)
virtual void
Encerre um DMPublisher operacional.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Processar uma indicação de que uma vinculação falhou.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Inicialize um 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)
Responda a uma solicitação de atualização.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Responda a um pedido de visualização.

Funções públicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Limpar

virtual void Clear(
  void
)

Limpe o estado interno do objeto DMPublisher.

Limpa o pool de transações de notificação e a tabela de assinaturas.

DMPublisher

 DMPublisher(
  void
)

O construtor padrão para objetos DMPublisher.

Limpa todo o estado interno.

Finalizar

virtual void Finalize(
  void
)

Encerre um DMPublisher operacional.

Limpa todo o estado operacional e desliga o listener se algum estiver em execução.

IncompleteIndication

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

Processar uma indicação de que uma vinculação falhou.

Quando uma vinculação fica incompleta, ou seja, quando a conexão é encerrada para uma vinculação TCP, o mecanismo de protocolo precisa falhar em todas as transações que dependem dela, o que inclui chamar os gerenciadores de status. Além disso, a indicação incompleta é transmitida para qualquer objeto de superclasse que implementa a forma alternativa desse método que usa um ID de peering.

Detalhes
Parâmetros
[in] aBinding
Um ponteiro para a vinculação com falha.
[in] aReport
Uma referência a um objeto StatusReport detalhando o motivo da falha.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Inicialize um objeto DMPublisher.

Esse método tem o efeito colateral de instalar um listener no gerenciador de trocas para toda a faixa de solicitações de clientes, possivelmente incluindo as de assinatura.

Detalhes
Parâmetros
[in] aExchangeMgr
Um ponteiro para o objeto WeaveExchangeManager a ser usado em todas as trocas em que o editor quer participar.
[in] aResponseTimeout
Um tempo limite de resposta em milissegundos, ou seja, o tempo máximo de espera por uma resposta.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma falha na configuração correta do editor.

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
)

Responda a uma solicitação de atualização.

Envie a resposta a uma solicitação de atualização após o processamento usando o contexto de troca fornecido na indicação.

Detalhes
Parâmetros
[in] aResponseCtx
Um ponteiro para o contexto de troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport que contém informações sobre o status da solicitação.
Retornos
WEAVE_NO_ERROR Se tiver êxito. Caso contrário, retorna um WEAVE_ERROR que reflete uma falha no envio da mensagem de resposta.

ViewResponse

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

Responda a um pedido de visualização.

Envie a resposta a uma solicitação de visualização após o processamento usando o contexto de troca fornecido na indicação.

Detalhes
Parâmetros
[in] aResponseCtx
Um ponteiro para o contexto de troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport que contém informações sobre o status da solicitação. Nesse caso, o solicitante espera uma lista com os dados de interesse.
[in] aDataList
Um ponteiro para um objeto ReferencedTLVData opcional contendo uma lista de dados codificado por TLV que contém os dados de interesse e os caminhos que indicam a disposição desses dados. Observe que esse parâmetro deve ser NULL caso o status fornecido no parâmetro anterior não seja bem-sucedido.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida. Caso contrário, retorna um WEAVE_ERROR que reflete uma falha no envio da mensagem de resposta.
WEAVE_ERROR_INVALID_ARGUMENT
Se os parâmetros fornecidos forem inconsistentes
WEAVE_ERROR_NO_MEMORY
Se um buffer Inet não puder ser alocado.

~DMPublisher

virtual  ~DMPublisher(
  void
)

O destrutor de objetos DMPublisher.

Limpa todo o estado interno e remove o listener do gerenciador de trocas, se houver um em vigor.