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

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

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

Resumo

DMPublisher é a classe base padrão do editor WDM. Ela é uma combinação da classe ProtocolEngine do DM, que lida com a transformação de comunicações, e da classe PublisherDataManager completamente abstrata. O suporte para assinatura e notificação é opcional e pode ser suprimido com a configuração de 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 construtor para objetos DMPublisher.

Funções públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Limpa 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
Inicializar 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)
Responder a um pedido de atualização.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Responder a uma solicitação de visualização.

Funções públicas

CancelarTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Limpar

virtual void Clear(
  void
)

Limpa o estado interno do objeto DMPublisher.

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

Editor de mensagens diretas

 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 de operação e desliga o listener se houver um em execução.

Indicação incompleta

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 todas as transações que dependem dela. Isso inclui chamar os gerenciadores de status. Além disso, a indicação incompleta será transmitida para qualquer objeto de superclasse que implemente a forma alternativa deste 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
)

Inicializar um objeto DMPublisher.

Esse método tem o efeito colateral da instalação de um listener no gerenciador de trocas para uma gama completa de solicitações de clientes, possivelmente incluindo aquelas para assinatura.

Detalhes
Parâmetros
[in] aExchangeMgr
Um ponteiro para o objeto WeaveExchangeManager para usar em todas as trocas de 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.
Retorna
WEAVE_NO_ERROR Em caso de sucesso. Caso contrário, retorne 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
)

Responder a um pedido 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 da troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport contendo informações sobre o status da solicitação.
Retorna
WEAVE_NO_ERROR Em caso de sucesso. Caso contrário, retorna um WEAVE_ERROR que reflete uma falha no envio da mensagem de resposta.

Resposta de visualização

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

Responder a uma solicitação 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 da troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport contendo informações sobre o status da solicitação. Se isso for positivo, o solicitante precisará esperar uma lista de dados contendo os dados de interesse.
[in] aDataList
Um ponteiro para um objeto ReferencedTLVData opcional contendo uma lista de dados codificada em TLV com os dados de interesse e os caminhos que indicam a disposição desses dados. Esse parâmetro será NULL no caso de problemas de status no parâmetro anterior.
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha no envio da mensagem de resposta.
WEAVE_ERROR_INVALID_ARGUMENT
Se os parâmetros informados forem inconsistentes
WEAVE_ERROR_NO_MEMORY
Se não foi possível alocar um buffer do Inet.

~DMEditor

virtual  ~DMPublisher(
  void
)

O construtor para objetos DMPublisher.

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