nl::Weave::WeaveExchangeManager

#include <src/lib/core/WeaveExchangeMgr.h>

Essa classe é usada para gerenciar ExchangeContexts com outros nós do Weave.

Resumo

Ele funciona em nome de camadas superiores, criando ExchangeContexts e lida com o registro/cancelamento de registro de gerenciadores de mensagens não solicitados.

Construtores e destrutores

WeaveExchangeManager(void)
Construtor para a classe WeaveExchangeManager.

Tipos públicos

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Atributos públicos

FabricState
[SOMENTE LEITURA] O objeto FabricState associado.
MessageLayer
[SOMENTE LEITURA] O objeto WeaveMessageLayer associado.
State
uint8_t
[SOMENTE LEITURA] O estado do objeto WeaveExchangeManager.

Funções públicas

AllowUnsolicitedMessages(WeaveConnection *con)
void
Permitir que mensagens não solicitadas sejam recebidas na conexão especificada.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Limpa a flag MsgCounterSyncReq para todas as mensagens pendentes nesse peering.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Encontre o ExchangeContext de um pool que corresponde a um determinado conjunto de parâmetros.
Init(WeaveMessageLayer *msgLayer)
Inicialize o objeto WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Alocar uma nova Binding com os argumentos fornecidos.
NewContext(const uint64_t & peerNodeId, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador de nó de peering.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador do nó de peering e pelo endereço IP do peering.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador do nó de peering, pelo endereço IP do peering e pela porta de destino em uma interface especificada.
NewContext(WeaveConnection *con, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave em um WeaveConnection especificado.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar um gerenciador de mensagens não solicitado para um determinado identificador de perfil.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrar um gerenciador de mensagens não solicitado para um determinado identificador de perfil.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil ou tipo de mensagem em uma conexão do Weave especificada.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil ou tipo de mensagem em uma conexão do Weave especificada.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil, tipo de mensagem e conexão do Weave.

Tipos públicos

Estado

 State
Propriedades
kState_Initialized

Usado para indicar que o WeaveExchangeManager foi inicializado.

kState_NotInitialized

Usado para indicar que o WeaveExchangeManager não foi inicializado.

Atributos públicos

FabricState

WeaveFabricState * FabricState

[SOMENTE LEITURA] O objeto FabricState associado.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOMENTE LEITURA] O objeto WeaveMessageLayer associado.

Estado

uint8_t State

[SOMENTE LEITURA] O estado do objeto WeaveExchangeManager.

Funções públicas

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Permitir que mensagens não solicitadas sejam recebidas na conexão especificada.

Este método define o manipulador de recepção de mensagens na conexão do Weave especificada.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto de conexão do Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Limpa a flag MsgCounterSyncReq para todas as mensagens pendentes nesse peering.

Detalhes
Parâmetros
[in] peerNodeId
ID do nó de destino.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Encontre o ExchangeContext de um pool que corresponde a um determinado conjunto de parâmetros.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering com o qual o ExchangeContext foi configurado.
[in] con
Um ponteiro para o objeto WeaveConnection, que representa a conexão TCP com o peering.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
[in] isInitiator
Indicador booleano que indica se o nó local é o iniciador da troca.
Retorna
Um ponteiro para o objeto ExchangeContext que corresponde aos parâmetros fornecidos. Em caso de sucesso, NULL se não houver correspondência.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Inicialize o objeto WeaveExchangeManager.

Durante a vida útil dessa instância, esse método é invocado uma vez após a construção do objeto até que uma chamada de encerramento seja feita para encerrar a instância.

Detalhes
Parâmetros
[in] msgLayer
Um ponteiro para o objeto WeaveMessageLayer.
Valores de retorno
WEAVE_ERROR_INCORRECT_STATE
Se o estado não for igual a kState_NotInitialized.
WEAVE_NO_ERROR
Se der certo.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Alocar uma nova Binding com os argumentos fornecidos.

Detalhes
Parâmetros
[in] eventCallback
Um ponteiro de função a ser usado para o callback de evento
[in] appState
Um ponteiro para algum contexto que seria carregado no callback do evento mais tarde.
Retorna
Um ponteiro para o Binding recém-alocado ou NULL se o pool tiver sido esgotado

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador de nó de peering.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering com o qual o ExchangeContext está sendo configurado.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Retorna
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, será NULL se nenhum objeto puder ser alocado ou estiver disponível.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador do nó de peering e pelo endereço IP do peering.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering com o qual o ExchangeContext está sendo configurado.
[in] peerAddr
O endereço IP do nó de peering.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Retorna
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, será NULL se nenhum objeto puder ser alocado ou estiver disponível.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Cria um novo ExchangeContext com um determinado nó do Weave especificado pelo identificador do nó de peering, pelo endereço IP do peering e pela porta de destino em uma interface especificada.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering com o qual o ExchangeContext está sendo configurado.
[in] peerAddr
O endereço IP do nó de peering.
[in] peerPort
A porta do nó de peering.
[in] sendIntfId
A interface usada para enviar mensagens do Weave nesta troca.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Retorna
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, será NULL se nenhum objeto puder ser alocado ou estiver disponível.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Cria um novo ExchangeContext com um determinado nó do Weave em um WeaveConnection especificado.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection, que representa a conexão TCP com o peering.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Retorna
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, será NULL se nenhum objeto puder ser alocado ou estiver disponível.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registrar um gerenciador de mensagens não solicitado para um determinado identificador de perfil.

Esse gerenciador seria invocado para todas as mensagens do perfil especificado.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registrar um gerenciador de mensagens não solicitado para um determinado identificador de perfil.

Esse gerenciador seria invocado para todas as mensagens do perfil especificado.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] allowDups
Indicador booleano que mostra se mensagens duplicadas são permitidas para um determinado perfil.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] allowDups
Indicador booleano que indica se as mensagens duplicadas são permitidas para um determinado identificador de perfil e tipo de mensagem.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil ou tipo de mensagem em uma conexão do Weave especificada.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] con
Um ponteiro para o objeto WeaveConnection, que representa a conexão TCP com o peering.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Registra um gerenciador de mensagens não solicitado para um determinado identificador de perfil ou tipo de mensagem em uma conexão do Weave especificada.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] con
Um ponteiro para o objeto WeaveConnection, que representa a conexão TCP com o peering.
[in] handler
O gerenciador de mensagens não solicitadas.
[in] allowDups
Indicador booleano se as mensagens duplicadas são permitidas para um determinado identificador de perfil, tipo de mensagem em uma conexão Weave especificada.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado de contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitados estiver cheio e não for possível alocar um novo
WEAVE_NO_ERROR
Se der certo.

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Encerre o WeaveExchangeManager.

Isso encerra essa instância do objeto e libera todos os recursos retidos.

Detalhes
Retorna
WEAVE_NO_ERROR incondicionalmente.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
Valores de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se o gerenciador de mensagens não solicitadas correspondente não for encontrado.
WEAVE_NO_ERROR
Se der certo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil e tipo de mensagem.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
Valores de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se o gerenciador de mensagens não solicitadas correspondente não for encontrado.
WEAVE_NO_ERROR
Se der certo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Cancelar o registro de um gerenciador de mensagens não solicitado para um determinado identificador de perfil, tipo de mensagem e conexão do Weave.

Detalhes
Parâmetros
[in] profileId
O identificador do perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] con
Um ponteiro para o objeto WeaveConnection, que representa a conexão TCP com o peering.
Valores de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se o gerenciador de mensagens não solicitadas correspondente não for encontrado.
WEAVE_NO_ERROR
Se der certo.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Construtor para a classe WeaveExchangeManager.

Ele define o estado como kState_NotInitialized.