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

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

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

Resumo

DMClient é o cliente WDM padrão. A implementação inclui opcionalmente inscrição/notificação. Ela é uma mistura da classe ProtocolEngine do DM, que lida com as comunicações por manivela, e a classe ClientDataManager totalmente abstrata, com alguns dos métodos relacionados a assinaturas implementados para que as camadas superiores não precisem se preocupar com eles.

Os gerenciadores de tarefas relacionadas à assinatura agem principalmente como um adaptador fino sobre o objeto ClientNotifier. Os implementadores de subclasses devem ter o cuidado de chamar os métodos relevantes da superclasse 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 a um editor depende de uma vinculação preexistente no cliente, mas, no primeiro caso, o ID de destino serve para selecionar entre vários destinos vinculados e, no segundo, o primeiro item na tabela de vinculação é selecionado como padrão. Isso é útil, por exemplo, se o cliente só for vinculado a um único editor.

Herança

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

Construtores e destruidores

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 no 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 do editor padrão.

Atributos protegidos

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

Funções públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Solicite 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 em operação.
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.

Solicitar 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 do 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 WDM configurado para gerenciar essa 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 a operação for bem-sucedida.
WEAVE_ERROR_NO_MEMORY
Se não for possível alocar uma transação.
Retornos
Caso contrário, um WEAVE_ERROR 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 no editor padrão.

Solicitar uma visualização dos dados que residem e são gerenciados pela configuração "padrão" editor, 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 WDM configurado para gerenciar essa 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 a operação for bem-sucedida.
WEAVE_ERROR_NO_MEMORY
Se não for possível alocar uma transação.
Retornos
Caso contrário, um WEAVE_ERROR 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 sob gerenciamento.

Detalhes
Parâmetros
[in] aDestinationId
Uma referência ao ID do 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 aos quais a atualização 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.
Retornos
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não foi possível alocar uma transação de atualização. Caso contrário, retorna 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 do editor padrão.

Solicite que um editor remoto atualize os dados sob 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 por TLV com uma representação da atualização, incluindo os caminhos aos quais a atualização 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.
Retornos
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não foi possível alocar uma transação de atualização. Caso contrário, retorna 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
)

Solicite 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.
Retornos
WEAVE_NO_ERROR em caso de sucesso ou um WEAVE_ERROR que reflete uma falha no cancelamento da transação.

Limpar

virtual void Clear(
  void
)

Limpa o estado interno associado a um objeto DMClient.

Mais especificamente, esse método limpa todos os pools de transações do cliente. Para clientes que já usam, o método Finalize() é preferível, já que ele também cancela assinaturas e limpa as tabelas de transações e vinculação.

Confira também:
Finalize()

DMClient

 DMClient(
  void
)

O construtor padrão para objetos DMClient.

Limpa todo o estado interno. Um DMClient requer inicialização adicional com Init() antes do uso.

Finalizar

virtual void Finalize(
  void
)

Encerre um DMClient em operação.

Limpa todo o estado operacional associado ao cliente e remove todas as assinaturas relacionadas do notificador. Após uma chamada para Finalize(), um DMClient pode ser reinicializado simplesmente chamando Init(). Finalize() é invocado pelo destrutor DMClient, mas pode ser chamado no caso em que um DMClient exige 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 for fechada, este método será chamado.

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

~DMClient

virtual  ~DMClient(
  void
)

O destrutor de objetos DMClient.

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

Funções protegidas

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)