O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl :: Tecer:: WeaveMessageLayer

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

A definição do WeaveMessageLayer classe, que gerencia a comunicação com outros nós Weave.

Resumo

Ele emprega um dos vários terminais InetLayer para estabelecer um canal de comunicação com outros nós Weave.

Construtores e Destruidores

WeaveMessageLayer (void)
O construtor da camada Weave Message.

Tipos públicos

AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
Esta função é o retorno de chamada da camada superior para relatar um erro durante o tratamento de uma conexão TCP de entrada.
CallbackRemovedFunct )(void *listenerState) typedef
void(*
Esta função é chamada para remover um retorno de chamada.
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
Esta função é o retorno de chamada da camada superior para lidar com uma conexão TCP de entrada.
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) typedef
void(*
Esta função é o retorno de chamada do aplicativo para relatar a mudança de atividade da camada de mensagem.
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
Esta função é o retorno de chamada da camada superior que é invocado após o recebimento de uma mensagem Weave por UDP.
ReceiveErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Esta função é o retorno de chamada da camada superior invocado ao encontrar um erro.
State {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
enum
O estado da WeaveMessageLayer .
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
Esta função é o retorno de chamada da camada superior que é invocado após o recebimento de 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
[SÓ LEITURA] O associada WeaveExchangeManager objecto.
FabricState
[SÓ LEITURA] O associada WeaveFabricState objecto.
IncomingConIdleTimeout
uint32_t
Tempo limite ocioso padrão (em milissegundos) para conexões de entrada.
Inet
InetLayer *
[READ ONLY] O objeto InetLayer associado.
IsListening
bool
[SOMENTE LEITURA] Verdadeiro se estiver ouvindo conexões / mensagens de entrada; caso contrário, falso.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[SÓ LEITURA] O associada WeaveSecurityManager objecto.
State
uint8_t
[SÓ LEITURA] O estado da WeaveMessageLayer objecto.
SystemLayer
mDropMessage
bool
Interno e apenas para depuração; Quando definido, WeaveMessageLayer cai a mensagem e retorna.

Funções públicas

ClearUnsecuredConnectionListener ( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints (void)
Feche todos os pontos de extremidade TCP e UDP abertos.
CreateTunnel ( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
Criar um WeaveConnectionTunnel acoplando juntos dois WeaveConnections especificados.
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Decodifique um cabeçalho da camada Weave Message de uma mensagem Weave recebida.
EncodeMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
Codificar uma WeaveMessageLayer cabeçalho num PacketBuffer.
EncodeMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Codifique um cabeçalho da camada Weave Message em um PacketBuffer.
EphemeralUDPPortEnabled (void) const
bool
Verifique se as trocas Weave UDP iniciadas localmente devem ser enviadas de uma porta de origem UDP efêmera.
GetConnectionPoolStats (nl::Weave::System::Stats::count_t & aOutInUse) const
void
Obtenha o número de WeaveConnections em uso e o tamanho da piscina.
IPv4ListenEnabled (void) const
bool
Verifique se o WeaveMessageLayer está configurado para escutar comunicações de entrada mais de IPv4.
IPv6ListenEnabled (void) const
bool
Verifique se o WeaveMessageLayer está configurado para escutar comunicações de entrada mais de IPv4.
Init ( InitContext *context)
Inicialize o objeto da camada Weave Message.
IsBoundToLocalIPv4Address (void) const
bool
Verifique se o WeaveMessageLayer está vinculado a um endereço IPv4 local.
IsBoundToLocalIPv6Address (void) const
bool
Verifique se o WeaveMessageLayer está vinculado a um endereço IPv6 local.
IsMessageLayerActive (void)
bool
NewConnection (void)
Criar um novo WeaveConnection objeto de uma piscina.
NewConnectionTunnel (void)
Criar um novo WeaveConnectionTunnel objeto de uma piscina.
ReEncodeMessage ( PacketBuffer *buf)
RefreshEndpoints (void)
Atualize os pontos de extremidade InetLayer com base no estado atual das interfaces de rede do sistema.
ResendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.
SendUDPTunneledMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Função para enviar um pacote encapsulado em um túnel UDP local.
SetSignalMessageLayerActivityChanged ( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
Defina um manipulador de aplicativos que será chamado toda vez que a atividade da camada de mensagem for alterada.
SetTCPListenEnabled (bool val)
void
Ativar ou desativar a escuta para conexões TCP de entrada na WeaveMessageLayer .
SetUDPListenEnabled (bool val)
void
Ativar ou desativar a escuta para mensagens de entrada UDP no WeaveMessageLayer .
SetUnsecuredConnectionListener ( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown (void)
Desligue o WeaveMessageLayer .
TCPListenEnabled (void) const
bool
Verifique se o WeaveMessageLayer é configurado para escutar para conexões TCP de entrada.
UDPListenEnabled (void) const
bool
Verifique se o WeaveMessageLayer está configurado para escutar mensagens de entrada UDP.
UnsecuredListenEnabled (void) const
bool
Habilite ou desabilite o início de trocas UDP Weave a partir de uma porta de origem UDP efêmera.

Funções estáticas públicas

GetMaxWeavePayloadSize (const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
Obtenha o tamanho máximo da carga útil 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 mesmo nível e suas 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ó par com base nas informações associadas a uma mensagem recebida do par.

Aulas

nl :: Weave :: WeaveMessageLayer :: InitContext

A definição do InitContext classe.

Tipos públicos

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

Esta função é o retorno de chamada da camada superior para relatar um erro durante o tratamento de uma conexão TCP de entrada.

Detalhes
Parâmetros
[in] msgLayer
Um apontador para a WeaveMessageLayer objecto.
[in] err
O WEAVE_ERROR encontrado ao manipular uma conexão TCP de entrada.

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

Esta função é invocada para remover um retorno de chamada.

Detalhes
Parâmetros
[in] listenerState
Um ponteiro para o objeto de estado do aplicativo.

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

Esta função é o retorno de chamada da camada superior para lidar com uma conexão TCP de entrada.

Detalhes
Parâmetros
[in] msgLayer
Um apontador para a WeaveMessageLayer objecto.
[in] con
Um apontador para a WeaveConnection objecto.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Esta função é o retorno de chamada do aplicativo para relatar a alteração da atividade da camada de mensagem.

A camada de mensagem é considerada ativa se houver pelo menos uma troca aberta ou solicitação de sincronização do contador de mensagens pendente.

Detalhes
Parâmetros
[in] messageLayerIsActive
Um valor booleano que indica se a camada de mensagem está ativa ou não.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

Esta função é o retorno de chamada da camada superior que é invocado após o recebimento de uma mensagem Weave por UDP.

Detalhes
Parâmetros
[in] msgLayer
Um apontador para a WeaveMessageLayer objecto.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] payload
Ponteiro para mensagem PacketBuffer contendo pacote encapsulado recebido.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

Esta função é o retorno de chamada da camada superior invocado ao encontrar um erro.

Detalhes
Parâmetros
[in] msgLayer
Um apontador para a WeaveMessageLayer objecto.
[in] err
WEAVE_ERROR encontrado ao receber dados.
[in] pktInfo
Um ponteiro somente leitura para o objeto IPPacketInfo.

Estado

 State

O estado da WeaveMessageLayer .

Propriedades
kState_Initialized

Estado quando o WeaveMessageLayer é inicializado.

kState_Initializing

Estado quando o WeaveMessageLayer está em processo de ser inicializado.

kState_NotInitialized

Estado quando o WeaveMessageLayer não foi inicializado.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

Esta função é o retorno de chamada da camada superior que é invocado após o recebimento de um pacote encapsulado em um túnel UDP local.

Detalhes
Parâmetros
[in] msgLayer
Um apontador para a WeaveMessageLayer objecto.
[in] payload
Ponteiro para mensagem PacketBuffer contendo pacote encapsulado recebido.

Atributos públicos

AppState

void * AppState

Um ponteiro para um objeto de estado específico do aplicativo.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SÓ LEITURA] O associada WeaveExchangeManager objecto.

FabricState

WeaveFabricState * FabricState

[SÓ LEITURA] O associada WeaveFabricState objecto.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

Tempo limite ocioso padrão (em milissegundos) para conexões de entrada.

Inet

InetLayer * Inet

[READ ONLY] O objeto InetLayer associado.

Está ouvindo

bool IsListening

[SOMENTE LEITURA] Verdadeiro se estiver ouvindo 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

[SÓ LEITURA] O associada WeaveSecurityManager objecto.

Estado

uint8_t State

[SÓ LEITURA] O estado da WeaveMessageLayer objecto.

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Interno e apenas para depuração; Quando definido, WeaveMessageLayer cai a mensagem e retorna.

Funções públicas

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

CloseEndpoints

WEAVE_ERROR CloseEndpoints(
  void
)

Feche todos os pontos de extremidade TCP e UDP abertos.

Então abortar qualquer WeaveConnections abertos e desligamento quaisquer abertas WeaveConnectionTunnel objetos.

Veja também:
Desligamento () .

CreateTunnel

WEAVE_ERROR CreateTunnel(
  WeaveConnectionTunnel **tunPtr,
  WeaveConnection & conOne,
  WeaveConnection & conTwo,
  uint32_t inactivityTimeoutMS
)

Criar um WeaveConnectionTunnel acoplando juntos dois WeaveConnections especificados.

Na criação bem-sucedida, os TCPEndPoints correspondente ao componente WeaveConnection objetos são entregues ao WeaveConnectionTunnel , caso contrário os WeaveConnections estão fechados.

Detalhes
Parâmetros
[out] tunPtr
Um ponteiro ao ponteiro de um WeaveConnectionTunnel objecto.
[in] conOne
Uma referência ao primeiro WeaveConnection objecto.
[in] conTwo
Uma referência ao segundo WeaveConnection objecto.
[in] inactivityTimeoutMS
O tempo máximo em milissegundos que o túnel de conexão Weave pode ficar ocioso.
Valores Retornados
WEAVE_NO_ERROR
na criação bem sucedida do WeaveConnectionTunnel .
WEAVE_ERROR_INCORRECT_STATE
se o componente WeaveConnection objetos do WeaveConnectionTunnel não está no estado correto.
WEAVE_ERROR_NO_MEMORY
se um novo WeaveConnectionTunnel objeto não pode ser criado.

DecodeHeader

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

Decodifique um cabeçalho da camada Weave Message de uma mensagem Weave recebida.

Detalhes
Parâmetros
[in] msgBuf
Um ponteiro para o objeto PacketBuffer que contém a mensagem Weave.
[in] msgInfo
Um ponteiro para uma WeaveMessageInfo objeto que receberá informações sobre a mensagem.
[out] payloadStart
Um ponteiro para um ponteiro para a posição no buffer de mensagem após a decodificação ser concluída.
Valores Retornados
WEAVE_NO_ERROR
Na decodificação bem-sucedida do cabeçalho da mensagem.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Se o buffer de mensagem passado tiver um comprimento inválido.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Se a versão do formato do cabeçalho da mensagem Weave não for compatível.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

Codificar uma WeaveMessageLayer cabeçalho num PacketBuffer.

Detalhes
Parâmetros
[in] msgInfo
Um apontador para um WeaveMessageInfo objeto contendo informação sobre a mensagem a ser codificado.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer que conteria a mensagem Weave.
[in] con
Um apontador para a WeaveConnection objecto.
[in] maxLen
O comprimento máximo da mensagem codificada do Weave.
[in] reserve
O espaço reservado antes da carga útil para conter o cabeçalho da mensagem Weave.
Valores Retornados
WEAVE_NO_ERROR
na codificação bem-sucedida da mensagem.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
se a versão do formato do cabeçalho da mensagem Weave não for compatível.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
se o comprimento da carga útil no buffer de mensagem for zero.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
se o tipo de criptografia no cabeçalho da mensagem não for compatível.
WEAVE_ERROR_MESSAGE_TOO_LONG
se a mensagem codificada for maior do que o máximo solicitado.
WEAVE_ERROR_BUFFER_TOO_SMALL
se não houver espaço suficiente antes ou depois da carga útil da mensagem.
other
erros gerados pelo objeto de estado da malha ao buscar o estado da sessão.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

Codifique um cabeçalho da camada Weave Message em um PacketBuffer.

Detalhes
Parâmetros
[in] destAddr
O endereço IP de destino.
[in] destPort
A porta de destino.
[in] sendIntId
A interface na qual enviar a mensagem Weave.
[in] msgInfo
Um apontador para um WeaveMessageInfo objecto.
[in] payload
Um ponteiro para o objeto PacketBuffer que conteria a mensagem Weave.
Valores Retornados
WEAVE_NO_ERROR
na codificação bem-sucedida da mensagem Weave.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
se a versão Weave Message não for compatível.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
se o comprimento da carga útil no buffer de mensagem for zero.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
se o tipo de criptografia não for compatível.
WEAVE_ERROR_MESSAGE_TOO_LONG
se a mensagem codificada for maior do que o máximo solicitado.
WEAVE_ERROR_BUFFER_TOO_SMALL
se não houver espaço suficiente antes ou depois da carga útil da mensagem.
other
erros gerados pelo objeto de estado da malha ao buscar o estado da sessão.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Verifique se as trocas Weave UDP iniciadas localmente devem ser enviadas de uma porta de origem UDP efêmera.

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

Obtenha o número de WeaveConnections em uso e o tamanho da piscina.

Detalhes
Parâmetros
[out] aOutInUse
Referência a size_t, na qual o número de conexões em uso é armazenado.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

Verifique se o WeaveMessageLayer está configurado para escutar comunicações de entrada mais de IPv4.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

Verifique se o WeaveMessageLayer está configurado para escutar comunicações de entrada mais de IPv4.

Iniciar

WEAVE_ERROR Init(
  InitContext *context
)

Inicialize o objeto da camada Weave Message.

Detalhes
Parâmetros
[in] context
Um apontador para a InitContext objecto.
Valores Retornados
WEAVE_NO_ERROR
na inicialização bem-sucedida.
WEAVE_ERROR_INVALID_ARGUMENT
se o passado InitContext objecto é nulo.
WEAVE_ERROR_INCORRECT_STATE
se o estado do WeaveMessageLayer objeto está incorreto.
other
erros gerados a partir da camada Inet inferior durante a criação do terminal.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

Verifique se o WeaveMessageLayer está vinculado a um endereço IPv4 local.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

Verifique se o WeaveMessageLayer está vinculado a um endereço IPv6 local.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

NewConnection

WeaveConnection * NewConnection(
  void
)

Criar um novo WeaveConnection objeto de uma piscina.

Detalhes
Devoluções
um ponteiro para o recém-criado WeaveConnection objeto se bem sucedida, caso contrário, NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Criar um novo WeaveConnectionTunnel objeto de uma piscina.

Detalhes
Devoluções
um ponteiro para o recém-criado WeaveConnectionTunnel objeto se bem sucedida, caso contrário, NULL.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

Atualize os pontos de extremidade InetLayer com base no estado atual das interfaces de rede do sistema.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
na atualização bem-sucedida de endpoints.
InetLayer
erros com base em chamadas para criar pontos de extremidade TCP / UDP.

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.

Detalhes
Parâmetros
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.

Detalhes
Parâmetros
[in] destAddr
O endereço IP de destino.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Reenvie uma mensagem codificada do Weave usando o ponto final UDP do Inetlayer subjacente.

Detalhes
Parâmetros
[in] destAddr
O endereço IP de destino.
[in] destPort
A porta de destino.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Reenvie uma mensagem codificada do Weave usando o ponto de extremidade UDP do Inetlayer subjacente.

Nota: -Se o endereço de destino não tenha sido fornecida, tentar determinar lo a partir do identificador de nó no cabeçalho da mensagem. Falha se isso não pode ser feito. -Se o endereço de destino for um endereço de malha para a malha local, e o chamador não especificou o id do nó de destino, extraia-o do endereço de destino.

Detalhes
Parâmetros
[in] aDestAddr
O endereço IP de destino.
[in] destPort
A porta de destino.
[in] interfaceId
A interface na qual enviar a mensagem Weave.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

Enviar mensagem

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.

Detalhes
Parâmetros
[in] msgInfo
Um apontador para um WeaveMessageInfo objeto contendo informação sobre a mensagem a ser enviada.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

Enviar mensagem

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.

Nota: -A porta de destino utilizado é WEAVE_PORT . -Se o endereço de destino não foi fornecido, tente determiná-lo a partir do identificador de nó no cabeçalho da mensagem. Falha se isso não pode ser feito.

-Se o endereço de destino for um endereço de malha para a malha local, e o chamador não especificou o id do nó de destino, extraia-o do endereço de destino.

Detalhes
Parâmetros
[in] destAddr
O endereço IP de destino.
[in] msgInfo
Um apontador para um WeaveMessageInfo objeto contendo informação sobre a mensagem a ser enviada.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

Enviar mensagem

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem Weave usando o ponto de extremidade UDP do Inetlayer subjacente após codificá-lo.

Nota: -Se o endereço de destino não tenha sido fornecida, tentar determinar lo a partir do identificador de nó no cabeçalho da mensagem. Falha se isso não pode ser feito. -Se o endereço de destino for um endereço de malha para a malha local e o chamador não especificou o id do nó de destino, extraia-o do endereço de destino.

Detalhes
Parâmetros
[in] aDestAddr
O endereço IP de destino.
[in] destPort
A porta de destino.
[in] sendIntfId
A interface na qual enviar a mensagem Weave.
[in] msgInfo
Um apontador para um WeaveMessageInfo objeto contendo informação sobre a mensagem a ser enviada.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a mensagem codificada do Weave.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
WEAVE_ERROR_INVALID_ADDRESS
se destAddr não for especificado ou não puder ser determinado a partir do id do nó de destino.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Função para enviar um pacote encapsulado em um túnel UDP local.

Envie uma mensagem de dados IPv6 encapsulada em UDP.

Detalhes
Parâmetros
[in] msgInfo
Um apontador para um WeaveMessageInfo objecto.
[in] destAddr
Endereço IP do destino do túnel UDP.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer que contém o pacote a ser enviado.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
WEAVE_ERROR_INVALID_ADDRESS
se destAddr não for especificado ou não puder ser determinado a partir do id do nó de destino.
errors
gerado a partir do ponto final UDP da camada Inet inferior durante o envio.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

Defina um manipulador de aplicativos que será chamado toda vez que a atividade da camada de mensagem for alterada.

Especificamente, o aplicativo será notificado sempre:

  • o número de trocas abertas muda.
  • o número de solicitações pendentes de sincronização do contador de mensagens muda de zero para pelo menos um e de volta para zero. O manipulador é servido como um sinal geral indicando se há alguma conversa do Weave em andamento ou respostas pendentes. O manipulador deve ser definido após a WeaveMessageLayer foi inicializado; desligar o WeaveMessageLayer irá limpar o manipulador atual.

Detalhes
Parâmetros
[in] messageLayerActivityChangeHandler
Um ponteiro para uma função a ser chamada sempre que a atividade da camada de mensagem muda.
Valores Retornados
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

Ativar ou desativar a escuta para conexões TCP de entrada na WeaveMessageLayer .

NOTA: RefreshEndpoints() deve ser chamado depois que o estado TCP escuta é alterado.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Ativar ou desativar a escuta para mensagens de entrada UDP no WeaveMessageLayer .

NOTA: RefreshEndpoints() deve ser chamado depois que o estado de escuta UDP é alterado.

SetUnsecuredConnectionListener

WEAVE_ERROR SetUnsecuredConnectionListener(
  ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
  bool force,
  void *listenerState
)

Desligar

WEAVE_ERROR Shutdown(
  void
)

Desligue o WeaveMessageLayer .

Feche todos os pontos finais da camada Inet abertos, redefina todos os retornos de chamada de camada superior, variáveis ​​de membro e objetos. Uma chamada para Shutdown () termina a WeaveMessageLayer objeto.

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

Verifique se o WeaveMessageLayer é configurado para escutar para conexões TCP de entrada.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

Verifique se o WeaveMessageLayer está configurado para escutar mensagens de entrada UDP.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

Habilite ou desabilite o início de trocas UDP Weave a partir de uma porta de origem UDP efêmera.

NOTA: RefreshEndpoints() deve ser chamado depois que o estado porta efêmera é alterado. Verifique se a escuta não segura está habilitada.

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

O construtor da camada Weave Message.

Funções estáticas públicas

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

Obtenha o tamanho máximo da carga útil do Weave para uma configuração de mensagem e o PacketBuffer fornecido.

O tamanho máximo da carga retornada não excederá o espaço disponível para uma carga dentro do PacketBuffer fornecido.

Se a mensagem for UDP, o tamanho máximo da carga retornada não resultará em uma mensagem Weave que não irá estourar o UDP MTU especificado.

Finalmente, o tamanho máximo da carga retornada não resultará em uma mensagem Weave que irá estourar o tamanho máximo da mensagem Weave.

Detalhes
Parâmetros
[in] msgBuf
Um ponteiro para o PacketBuffer no qual a carga útil da mensagem será gravada.
[in] isUDP
Verdadeiro se a mensagem for uma mensagem UDP.
[in] udpMTU
O tamanho do UDP MTU. Ignorado se isUDP for falso.
Devoluções
o tamanho máximo da carga útil 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ó de mesmo nível e suas informações de endereço / conexão associadas.

A sequência gerada tem o seguinte formato:

 ([]:%, con )

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer no qual a string deve ser gravada. O buffer fornecido deve ser pelo menos tão grande quanto kWeavePeerDescription_MaxLength. Se um buffer menor for fornecido, a string será truncada para caber. A saída incluirá um caractere de terminação NUL em todos os casos.
[in] bufSize
O tamanho do buffer apontado por buf.
[in] nodeId
O id do nó a ser impresso.
[in] addr
Um ponteiro para um endereço IP a ser impresso; ou NULL se nenhum endereço IP deve ser impresso.
[in] port
Um número de porta IP a ser impresso. Nenhum número de porta será impresso se addr for NULL.
[in] interfaceId
Um InterfaceId que identifica a interface a ser impressa. A string de saída conterá o nome da interface conforme conhecido na pilha de rede subjacente. Nenhum nome de interface será impresso se interfaceId for INET_NULL_INTERFACEID ou se addr for NULL.
[in] con
Um apontador para um WeaveConnection objecto cujo ID de log deve ser impressa; ou NULL se nenhum ID de conexão deve ser impresso.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

Constrói uma string que descreve um nó par com base nas informações associadas a uma mensagem recebida do par.

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer no qual a string deve ser gravada. O buffer fornecido deve ser pelo menos tão grande quanto kWeavePeerDescription_MaxLength. Se um buffer menor for fornecido, a string será truncada para caber. A saída incluirá um caractere de terminação NUL em todos os casos.
[in] bufSize
O tamanho do buffer apontado por buf.
[in] msgInfo
Um apontador para um WeaveMessageInfo estrutura contendo informação sobre a mensagem.