nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

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

Resumo

DMClient é o cliente WDM padrão. Opcionalmente, a implementação inclui assinatura/notificação. Ela é uma combinação da classe ProtocolEngine do DM, que lida com a rotatividade das comunicações, e da classe ClientDataManager totalmente abstrata, com alguns dos métodos relacionados à assinatura implementados para que as camadas superiores não precisem se preocupar com eles.

Os gerenciadores para tarefas relacionadas a assinaturas atuam principalmente como um adaptador fino no objeto ClientNotifier. Os implementadores de subclasse precisam ter cuidado ao chamar os métodos da superclasse relevantes para ativar o gerenciador de assinaturas.

Os métodos de solicitação DMClient geralmente têm duas assinaturas: uma com um ID de nó de destino explícito e a outra com um destino especificado. Em ambos os casos, a capacidade de enviar uma mensagem para um editor depende de uma vinculação pré-existente no cliente. No entanto, no primeiro caso, o ID de destino serve para selecionar entre destinos múltiplos e, no segundo caso, o primeiro item da tabela de vinculações é selecionado como padrão. Isso é útil, por exemplo, quando o cliente é vinculado a um único editor.

Herança

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

Construtores e destrutores

DMClient(void)
O construtor padrão para objetos DMClient.
~DMClient(void)
O destrutor de objetos DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite uma visualização dos dados publicados.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicitar uma visualização dos dados do editor padrão.
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite uma atualização dos dados publicados.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite uma atualização dos dados no editor padrão.

Atributos protegidos

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Funções públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Solicita que uma transação em execução seja cancelada.
Clear(void)
virtual void
Limpa o estado interno associado a um objeto DMClient.
Finalize(void)
virtual void
Encerre um DMClient operacional.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Processar a "inconclusão" de uma vinculação em uso pelo cliente.

Funções protegidas

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite uma visualização dos dados publicados.

Solicita uma visualização dos dados que residem e são gerenciados por um editor remoto especificado.

Detalhes
Parâmetros
[in] aDestinationId
Uma referência ao ID de nó de 64 bits do editor remoto.
[in] aPathList
Uma referência a um objeto ReferencedTLVData contendo uma lista de caminhos codificado em TLV indicando os dados solicitados.
[in] aTxnId
Um identificador da transação do WDM configurada para gerenciar a operação de visualização.
[in] aTimeout
Tempo máximo em milissegundos de espera pela resposta da visualização.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NO_MEMORY
Se não foi possível alocar uma transação.
Retorna
Caso contrário, um WEAVE_ERROR que reflete a falha ao inicializar ou iniciar a transação.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicitar uma visualização dos dados do editor padrão.

Solicitar uma visualização dos dados que residem e são gerenciados pelo editor "padrão", ou seja, o primeiro (ou único) editor na tabela de vinculação do cliente.

Detalhes
Parâmetros
[in] aPathList
Uma referência a um objeto ReferencedTLVData contendo uma lista de caminhos codificado em TLV indicando os dados solicitados.
[in] aTxnId
Um identificador da transação do WDM configurada para gerenciar a operação de visualização.
[in] aTimeout
Tempo máximo em milissegundos de espera pela resposta da visualização.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NO_MEMORY
Se não foi possível alocar uma transação.
Retorna
Caso contrário, um WEAVE_ERROR que reflete a falha ao inicializar ou iniciar a transação.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite uma atualização dos dados publicados.

Solicite que um editor remoto atualize os dados em gerenciamento.

Detalhes
Parâmetros
[in] aDestinationId
Uma referência ao ID de nó de 64 bits do editor remoto para o qual a solicitação está sendo enviada.
[in] aDataList
Uma referência a um objeto ReferencedTLVData contendo uma lista de dados codificado em TLV com uma representação da atualização, incluindo os caminhos a que ela será aplicada.
[in] aTxnId
Um identificador da transação configurado para gerenciar a solicitação de atualização.
[in] aTimeout
Tempo máximo em milissegundos de espera pelo relatório de status correspondente.
Retorna
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não for possível alocar uma transação de atualização. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha de atualização.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite uma atualização dos dados no editor padrão.

Solicite que um editor remoto atualize os dados em gerenciamento. Essa versão direciona a solicitação para o editor que é o destino da vinculação padrão do cliente.

Detalhes
Parâmetros
[in] aDataList
Uma referência a um objeto ReferencedTLVData contendo uma lista de dados codificado em TLV com uma representação da atualização, incluindo os caminhos a que ela será aplicada.
[in] aTxnId
Um identificador da transação configurado para gerenciar a solicitação de atualização.
[in] aTimeout
Tempo máximo em milissegundos de espera pelo relatório de status correspondente.
Retorna
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não for possível alocar uma transação de atualização. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha de atualização.

Atributos protegidos

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Funções públicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Solicita que uma transação em execução seja cancelada.

Esse método não gera tráfego de rede, apenas libera recursos alocados para as transações especificadas.

Detalhes
Parâmetros
[in] aTxnId
O número da transação a ser cancelada. Se kTransactionIdNotspecified for fornecido, todas as transações serão canceladas.
[in] aError
O WEAVE_ERROR a ser informado ao cancelar a transação.
Retorna
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR que reflete uma falha ao cancelar a transação.

Limpar

virtual void Clear(
  void
)

Limpa o estado interno associado a um objeto DMClient.

Especificamente, esse método limpa todos os pools de transações do cliente. Para clientes que estão em uso, o método Finalize() é preferível, porque também cancela assinaturas e limpa as tabelas de transações e vinculações.

Consulte também:
Finalize()

DMClient

 DMClient(
  void
)

O construtor padrão para objetos DMClient.

Limpa todo o estado interno. Um DMClient precisa ser inicializado com Init() antes do uso.

Finalizar

virtual void Finalize(
  void
)

Encerre um DMClient operacional.

Limpa todo o estado de operação associado ao cliente e remove todas as assinaturas relacionadas do notificador. Depois de uma chamada para Finalize(), um DMClient pode ser reinicializado simplesmente chamando Init(). Finalize() é invocado pelo destrutor DMClient, mas pode ser chamado caso um DMClient precise de limpeza, por exemplo, em caso de falha ou encerramento temporário, mas pode precisar ser reconstituído posteriormente.

IncompleteIndication

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

Processar a "inconclusão" de uma vinculação em uso pelo cliente.

Quando uma vinculação falha inesperadamente, por exemplo, se a conexão envolvida na vinculação é encerrada, esse método é chamado.

Detalhes
Parâmetros
[in] aBinding
Um ponteiro para a Binding que se tornou incompleta.
[in] aReport
Uma referência a um relatório de status que informa o motivo da falha.

~DMClient

virtual  ~DMClient(
  void
)

O destrutor de objetos DMClient.

Limpa todo o estado interno e, se necessário, cancela as assinaturas pendentes.

Funções protegidas

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)