nl::Weave::WeaveMessageLayer
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
#include <src/lib/core/WeaveMessageLayer.h>
A definição da classe WeaveMessageLayer, que gerencia a comunicação com outros nós da Weave.
Resumo
Ele emprega um dos vários pontos de extremidade InetLayer para estabelecer um canal de comunicação com outros nós do Weave.
Construtores e destrutores |
|
---|---|
WeaveMessageLayer(void)
O construtor da camada Weave Message.
|
Tipos públicos |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Essa função é o callback da camada superior para informar um erro durante o tratamento de uma conexão TCP de entrada. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
Essa função é invocada para remover um callback. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
Essa função é o callback de camada mais alta para processar uma conexão TCP de entrada. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Essa função é o callback do aplicativo para informar a mudança de atividade da camada de mensagens. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Essa função é o callback de camada mais alta que é invocado após o recebimento de uma mensagem do Weave por UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Essa função é o callback da camada superior invocado ao encontrar um erro. |
State{
|
enum O estado da WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Essa função é o callback da camada superior invocado ao receber um pacote encapsulado em um túnel UDP local. |
Atributos públicos |
|
---|---|
AppState
|
void *
Um ponteiro para um objeto de estado específico do aplicativo.
|
ExchangeMgr
|
[READ ONLY] O objeto WeaveExchangeManager associado.
|
FabricState
|
[SOMENTE LEITURA] O objeto WeaveFabricState associado.
|
IncomingConIdleTimeout
|
uint32_t
Tempo limite de inatividade padrão (em milissegundos) para conexões de entrada.
|
Inet
|
InetLayer *
[SOMENTE LEITURA] O objeto InetLayer associado.
|
IsListening
|
bool
[SOMENTE LEITURA] Verdadeiro se estiver aguardando conexões/mensagens de entrada. Caso contrário, é falso.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] O objeto WeaveSecurityManager associado.
|
State
|
uint8_t
[SOMENTE LEITURA] O estado do objeto WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Interno e apenas para depuração. Quando definido, a WeaveMessageLayer descarta a mensagem e retorna.
|
Funções públicas |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
Feche todos os endpoints TCP e UDP abertos.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
Crie um WeaveConnectionTunnel combinando dois WeaveConnections especificados.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Decodificar um cabeçalho da camada de mensagem do Weave de uma mensagem recebida do Weave.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Codifique um cabeçalho WeaveMessageLayer em um PackageBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Codificar um cabeçalho de camada da mensagem do Weave em um PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Verifique se as trocas UDP do Weave iniciadas localmente precisam ser enviadas de uma porta de origem UDP temporária.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Receba o número de WeaveConnections em uso e o tamanho do pool.
|
IPv4ListenEnabled(void) const
|
bool
Verifique se a WeaveMessageLayer está configurada para detectar comunicações de entrada pelo IPv4.
|
IPv6ListenEnabled(void) const
|
bool
Verifique se o WeaveMessageLayer está configurado para detectar comunicações de entrada via IPv4.
|
Init(InitContext *context)
|
Inicialize o objeto da camada de mensagens da Weave.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Verifique se a WeaveMessageLayer está vinculada a um endereço IPv4 local.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Verifique se a WeaveMessageLayer está vinculada a um endereço IPv6 local.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
Crie um novo objeto WeaveConnection em um pool.
|
NewConnectionTunnel(void)
|
Crie um novo objeto WeaveConnectionTunnel em um pool.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Atualize os endpoints da InetLayer com base no estado atual das interfaces de rede do sistema.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Enviar uma mensagem do Weave usando o endpoint UDP do Inetlayer após a codificação.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Enviar uma mensagem do Weave usando o endpoint UDP do Inetlayer após a codificação.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Enviar uma mensagem do Weave usando o endpoint UDP do Inetlayer após a codificação.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Função para enviar um pacote encapsulado por um túnel UDP local.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Defina um gerenciador de aplicativos que será chamado sempre que a atividade da camada de mensagem mudar.
|
SetTCPListenEnabled(bool val)
|
void
Ative ou desative a detecção de conexões TCP de entrada no WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Ative ou desative a escuta de mensagens UDP de entrada na WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Desligue a WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
Verifique se a WeaveMessageLayer está configurada para detectar conexões TCP de entrada.
|
UDPListenEnabled(void) const
|
bool
Verifique se a WeaveMessageLayer está configurada para detectar mensagens UDP de entrada.
|
UnsecuredListenEnabled(void) const
|
bool
Ative ou desative o início de trocas UDP do Weave em uma porta de origem UDP temporária.
|
Funções estáticas públicas |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Recebe o tamanho máximo do payload do Weave para uma configuração de mensagem e o PacketBuffer fornecido.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
Constrói uma string que descreve um nó de peering e as informações de endereço / conexão associadas.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Constrói uma string que descreve um nó peer com base nas informações associadas a uma mensagem recebida do peer.
|
Classes |
|
---|---|
nl:: |
A definição da classe InitContext. |
Tipos públicos
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Essa função é o callback de camada mais alta para informar um erro durante o processamento de uma conexão TCP de entrada.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
Esta função é invocada para remover um callback.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Essa função é o callback de camada mais alta para processar uma conexão TCP de entrada.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Essa função é o callback do aplicativo para informar a mudança de atividade da camada de mensagens.
A camada de mensagens é considerada ativa se houver pelo menos uma troca aberta ou uma solicitação de sincronização de contador de mensagens pendente.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Essa função é o callback de camada mais alta que é invocado após o recebimento de uma mensagem do Weave por UDP.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Essa função é o callback da camada superior invocado ao encontrar um erro.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
Estado
State
O estado da WeaveMessageLayer.
Propriedades | |
---|---|
kState_Initialized
|
Estado quando a WeaveMessageLayer é inicializada. |
kState_Initializing
|
Informa quando a WeaveMessageLayer está sendo inicializada. |
kState_NotInitialized
|
Estado quando a WeaveMessageLayer não está inicializada. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Essa função é o callback de camada superior que é invocado após o recebimento de um pacote encapsulado em um túnel UDP local.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
Atributos públicos
AppState
void * AppState
Um ponteiro para um objeto de estado específico do aplicativo.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[SOMENTE LEITURA] O objeto WeaveExchangeManager associado.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Tempo limite de inatividade padrão (em milissegundos) para conexões de entrada.
Inet
InetLayer * Inet
[SOMENTE LEITURA] O objeto InetLayer associado.
IsListening
bool IsListening
[SOMENTE LEITURA] Verdadeiro se estiver aguardando conexões/mensagens de entrada. Caso contrário, é falso.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[SOMENTE LEITURA] O objeto WeaveSecurityManager associado.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Interno e apenas para depuração. Quando definido, a WeaveMessageLayer descarta a mensagem e retorna.
Funções públicas
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener(
ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)
CloseEndpoints
WEAVE_ERROR CloseEndpoints(
void
)
Feche todos os endpoints TCP e UDP abertos.
Em seguida, interrompa todas as WeaveConnections abertas e desligue todos os objetos WeaveConnectionTunnel abertos.
Consulte também:Shutdown().
CreateTunnel
WEAVE_ERROR CreateTunnel(
WeaveConnectionTunnel **tunPtr,
WeaveConnection & conOne,
WeaveConnection & conTwo,
uint32_t inactivityTimeoutMS
)
Crie um WeaveConnectionTunnel combinando dois WeaveConnections especificados.
Na criação, os TCPEndPoints correspondentes aos objetos WeaveConnection do componente são transferidos para o WeaveConnectionTunnel (links em inglês). Caso contrário, os WeaveConnections são fechados.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
DecodeHeader
WEAVE_ERROR DecodeHeader(
PacketBuffer *msgBuf,
WeaveMessageInfo *msgInfo,
uint8_t **payloadStart
)
Decodificar um cabeçalho da camada de mensagem do Weave de uma mensagem recebida do Weave.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
EncodeMessage
WEAVE_ERROR EncodeMessage(
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf,
WeaveConnection *con,
uint16_t maxLen,
uint16_t reserve
)
Codifique um cabeçalho WeaveMessageLayer em um PacketBuffer.
Detalhes | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||
Valores de retorno |
|
EncodeMessage
WEAVE_ERROR EncodeMessage(
const IPAddress & destAddr,
uint16_t destPort,
InterfaceId sendIntId,
WeaveMessageInfo *msgInfo,
PacketBuffer *payload
)
Codifique um cabeçalho de camada de mensagem da Weave em um PacketBuffer.
Detalhes | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||
Valores de retorno |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled(
void
) const
Verifique se as trocas de UDP do Weave iniciadas localmente precisam ser enviadas de uma porta de origem UDP temporária.
GetConnectionPoolStats
void GetConnectionPoolStats(
nl::Weave::System::Stats::count_t & aOutInUse
) const
Receba o número de WeaveConnections em uso e o tamanho do pool.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
IPv4ListenEnabled
bool IPv4ListenEnabled(
void
) const
Verifique se o WeaveMessageLayer está configurado para detectar comunicações de entrada via IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled(
void
) const
Verifique se a WeaveMessageLayer está configurada para detectar comunicações de entrada pelo IPv4.
Init
WEAVE_ERROR Init(
InitContext *context
)
Inicialize o objeto da camada Weave Message.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address(
void
) const
Verifique se a WeaveMessageLayer está vinculada a um endereço IPv4 local.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address(
void
) const
Verifique se a WeaveMessageLayer está vinculada a um endereço IPv6 local.
IsMessageLayerActive
bool IsMessageLayerActive(
void
)
NewConnection
WeaveConnection * NewConnection(
void
)
Crie um novo objeto WeaveConnection em um pool.
Detalhes | |
---|---|
Retornos |
Um ponteiro para o objeto WeaveConnection recém-criado, se bem-sucedido, ou NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel(
void
)
Crie um novo objeto WeaveConnectionTunnel a partir de um pool.
Detalhes | |
---|---|
Retornos |
Um ponteiro para o objeto WeaveConnectionTunnel recém-criado, se bem-sucedido, ou NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage(
PacketBuffer *buf
)
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints(
void
)
Atualize os endpoints da InetLayer com base no estado atual das interfaces de rede do sistema.
Detalhes | |||||
---|---|---|---|---|---|
Valores de retorno |
|
ResendMessage
WEAVE_ERROR ResendMessage(
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
ResendMessage
WEAVE_ERROR ResendMessage(
const IPAddress & destAddr,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Reenvie uma mensagem do Weave codificada usando o endpoint UDP Inetlayer subjacente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
ResendMessage
WEAVE_ERROR ResendMessage(
const IPAddress & destAddr,
uint16_t destPort,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
ResendMessage
WEAVE_ERROR ResendMessage(
const IPAddress & destAddr,
uint16_t destPort,
InterfaceId interfaceId,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Reenviar uma mensagem Weave codificada usando o endpoint UDP da Inetlayer.
Observação:se o endereço de destino não tiver sido fornecido, tente determiná-lo pelo identificador do nó no cabeçalho da mensagem. Falha se isso não for possível. -Se o endereço de destino for um endereço do fabric para o fabric local e o autor da chamada não tiver especificado o ID do nó de destino, extraia-o do endereço de destino.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
SendMessage
WEAVE_ERROR SendMessage(
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Enviar uma mensagem do Weave usando o endpoint UDP do Inetlayer após a codificação.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Valores de retorno |
|
SendMessage
WEAVE_ERROR SendMessage(
const IPAddress & destAddr,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Envie uma mensagem do Weave usando o endpoint UDP Inetlayer subjacente após codificá-lo.
Observação: a porta de destino usada é WEAVE_PORT. -Se o endereço de destino não tiver sido fornecido, tente determiná-lo a partir do identificador do nó no cabeçalho da mensagem. Falha se isso não for possível.
-Se o endereço de destino for um endereço de malha para a malha local e o autor da chamada não tiver especificado o ID do nó de destino, extraia-o do endereço de destino.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
SendMessage
WEAVE_ERROR SendMessage(
const IPAddress & destAddr,
uint16_t destPort,
InterfaceId sendIntfId,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Envie uma mensagem do Weave usando o endpoint UDP Inetlayer subjacente após codificá-lo.
Observação: se o endereço de destino não tiver sido fornecido, tente determinar o endereço usando o identificador do nó no cabeçalho da mensagem. Reprovar se não for possível fazer isso. -Se o endereço de destino for um endereço do fabric para o fabric local e o autor da chamada não tiver especificado o ID do nó de destino, extraia-o do endereço de destino.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
SendUDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage(
const IPAddress & destAddr,
WeaveMessageInfo *msgInfo,
PacketBuffer *msgBuf
)
Função para enviar um pacote em um túnel UDP local.
Enviar uma mensagem de dados IPv6 com encapsulamento por UDP.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged(
MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)
Defina um gerenciador de aplicativos que será chamado sempre que a atividade da camada de mensagem mudar.
Especificamente, o aplicativo será notificado todas as vezes:
- o número de interações abertas muda.
- o número de solicitações de sincronização de contador de mensagens pendentes muda de zero para pelo menos um e volta para zero. O gerenciador é enviado como um indicador geral para indicar se há conversas ativas no Weave ou respostas pendentes. O gerenciador precisa ser definido depois que a WeaveMessageLayer for inicializada. O encerramento da WeaveMessageLayer vai limpar o gerenciador atual.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Valores de retorno |
|
SetTCPListenEnabled
void SetTCPListenEnabled(
bool val
)
Ative ou desative a detecção de conexões TCP de entrada na WeaveMessageLayer.
OBSERVAÇÃO: RefreshEndpoints()
precisará ser chamado depois que o estado de detecção do TCP for alterado.
SetUDPListenEnabled
void SetUDPListenEnabled(
bool val
)
Ative ou desative a escuta de mensagens UDP de entrada na WeaveMessageLayer.
OBSERVAÇÃO: é preciso chamar RefreshEndpoints()
depois que o estado de detecção do UDP mudar.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener(
ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
bool force,
void *listenerState
)
Encerramento
WEAVE_ERROR Shutdown(
void
)
Desligue a WeaveMessageLayer.
Feche todos os endpoints abertos da camada Inet, redefina todos os callbacks de camadas mais altas, variáveis de membro e objetos. Uma chamada para Shutdown() encerra o objeto WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled(
void
) const
Verifique se o WeaveMessageLayer está configurado para detectar conexões TCP de entrada.
UDPListenEnabled
bool UDPListenEnabled(
void
) const
Verifique se o WeaveMessageLayer está configurado para detectar mensagens UDP de entrada.
UnsecuredListenEnabled
bool UnsecuredListenEnabled(
void
) const
Ative ou desative o início de trocas UDP do Weave em uma porta de origem UDP temporária.
OBSERVAÇÃO: RefreshEndpoints()
precisa ser chamado depois que o estado da porta temporária for alterado. Verifique se a escuta não segura está ativada.
WeaveMessageLayer
WeaveMessageLayer(
void
)
O construtor da camada da mensagem da Weave.
Funções estáticas públicas
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize(
const PacketBuffer *msgBuf,
bool isUDP,
uint32_t udpMTU
)
Recebe o tamanho máximo do payload do Weave para uma configuração de mensagem e o PacketBuffer fornecido.
O tamanho máximo do payload retornado não vai exceder o espaço disponível para um payload dentro do PacketBuffer fornecido.
Se a mensagem for UDP, o tamanho máximo do payload retornado não vai resultar em uma mensagem Weave que não transbordará a MTU UDP especificada.
Por fim, o tamanho máximo do payload retornado não vai resultar em uma mensagem Weave que vai exceder o tamanho máximo da mensagem Weave.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
o tamanho máximo do payload do Weave.
|
GetPeerDescription
void GetPeerDescription(
char *buf,
size_t bufSize,
uint64_t nodeId,
const IPAddress *addr,
uint16_t port,
InterfaceId interfaceId,
const WeaveConnection *con
)
Constrói uma string que descreve um nó peer e as informações de endereço/conexão associadas a ele.
A string gerada tem o seguinte formato:
Detalhes | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
GetPeerDescription
void GetPeerDescription(
char *buf,
size_t bufSize,
const WeaveMessageInfo *msgInfo
)
Constrói uma string que descreve um nó de mesmo nível com base nas informações associadas a uma mensagem recebida do par.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|