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 lidando com o registro/cancelamento de registros de gerenciadores de mensagens não solicitados.

Construtores e destruidores

WeaveExchangeManager(void)
Construtor para a classe WeaveExchangeManager.

Tipos públicos

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Atributos públicos

FabricState
[READ ONLY] O objeto FabricState associado.
MessageLayer
[READ ONLY] O objeto WeaveMessageLayer associado.
State
uint8_t
[READ ONLY] O estado do objeto WeaveExchangeManager.

Funções públicas

AllowUnsolicitedMessages(WeaveConnection *con)
void
Permitir o recebimento de mensagens não solicitadas na conexão especificada.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Limpar o sinalizador MsgCounterSyncReq para todas as mensagens pendentes para esse 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)
Aloque uma nova Binding com os argumentos fornecidos.
NewContext(const uint64_t & peerNodeId, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave de peering especificado pelo identificador do nó de peering.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Cria um novo ExchangeContext com um determinado nó do Weave de peering especificado pelo identificador de nó e pelo endereço IP de 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 de peering 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 de peering em uma WeaveConnection especificada.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registra um gerenciador de mensagens não solicitadas para um determinado identificador de perfil.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registra um gerenciador de mensagens não solicitadas 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 solicitadas 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 solicitadas 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 manipulador de mensagens não solicitadas para um determinado identificador de perfil, 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 manipulador de mensagens não solicitadas para um determinado identificador de perfil, 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 solicitadas para um determinado identificador de perfil.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Cancelar o registro de um gerenciador de mensagens não solicitadas para um determinado identificador de perfil e tipo de mensagem.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Cancelar o registro de um manipulador de mensagens não solicitadas 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 é inicializado.

kState_NotInitialized

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

Atributos públicos

FabricState

WeaveFabricState * FabricState

[READ ONLY] O objeto FabricState associado.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] O objeto WeaveMessageLayer associado.

Estado

uint8_t State

[READ ONLY] O estado do objeto WeaveExchangeManager.

Funções públicas

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Permitir o recebimento de mensagens não solicitadas 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
)

Limpar o sinalizador MsgCounterSyncReq para todas as mensagens pendentes para esse 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 do contexto.
[in] isInitiator
Indicador booleano que mostra se o nó local é o iniciador da troca.
Retornos
Um ponteiro para o objeto ExchangeContext que corresponde aos parâmetros fornecidos. Se a operação for bem-sucedida, será NULL quando não houver correspondência.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Inicialize o objeto WeaveExchangeManager.

Durante o ciclo de vida 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 a operação for bem-sucedida.

NewBinding

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

Aloque uma nova Binding com os argumentos fornecidos.

Detalhes
Parâmetros
[in] eventCallback
Um ponteiro de função a ser usado para o callback do evento
[in] appState
Um ponteiro para algum contexto que seria transportado posteriormente no callback do evento
Retornos
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 de peering especificado pelo identificador do 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 do contexto.
Retornos
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 de peering especificado pelo identificador de nó e pelo endereço IP de 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 do contexto.
Retornos
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, 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 de peering 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 a ser usada para enviar mensagens do Weave nesta troca.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado do contexto.
Retornos
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, 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 de peering em uma WeaveConnection especificada.

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 do contexto.
Retornos
Um ponteiro para o objeto ExchangeContext criado em caso de êxito. Caso contrário, NULL se nenhum objeto puder ser alocado ou estiver disponível.

RegisterUnsolicitedMessageHandler

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

Registra um gerenciador de mensagens não solicitadas para um determinado identificador de perfil.

Esse manipulador 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 do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

RegisterUnsolicitedMessageHandler

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

Registra um gerenciador de mensagens não solicitadas para um determinado identificador de perfil.

Esse manipulador 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 boleano que indica 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 do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

RegisterUnsolicitedMessageHandler

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

Registra um gerenciador de mensagens não solicitadas 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 do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

RegisterUnsolicitedMessageHandler

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

Registra um gerenciador de mensagens não solicitadas 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 boleano que indica se 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 do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

RegisterUnsolicitedMessageHandler

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

Registra um manipulador de mensagens não solicitadas para um determinado identificador de perfil, 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 do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

RegisterUnsolicitedMessageHandler

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

Registra um manipulador de mensagens não solicitadas para um determinado identificador de perfil, 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 boleano que indica se mensagens duplicadas são permitidas para um determinado identificador de perfil, tipo de mensagem em uma conexão do Weave especificada.
[in] appState
Um ponteiro para um objeto de camada superior que contém o estado do contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se o pool de gerenciadores de mensagens não solicitadas estiver cheio e não for possível alocar um novo.
WEAVE_NO_ERROR
Se a operação for bem-sucedida.

Encerramento

WEAVE_ERROR Shutdown(
  void
)

Encerre o WeaveExchangeManager.

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

Detalhes
Retornos
WEAVE_NO_ERROR incondicionalmente.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Cancelar o registro de um gerenciador de mensagens não solicitadas 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 a operação for bem-sucedida.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Cancelar o registro de um gerenciador de mensagens não solicitadas 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 a operação for bem-sucedida.

UnregisterUnsolicitedMessageHandler

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

Cancelar o registro de um manipulador de mensagens não solicitadas 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 a operação for bem-sucedida.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Construtor para a classe WeaveExchangeManager.

Ele define o estado como kState_NotInitialized.