O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

nl::Weave::WeaveConnection

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

A definição da classe Weave Connection.

Resumo

Ele representa uma conexão TCP ou BLE com outro nó do Weave.

Tipos públicos

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
tipo enumerado
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Essa função é o callback do aplicativo que é invocado quando uma conexão é fechada.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Essa função é o callback do aplicativo invocado quando a configuração da conexão é concluída.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Essa função é o callback do aplicativo que é invocado quando uma mensagem é recebida por uma conexão do Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
tipo enumerado
O tipo de rede do objeto de conexão do Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Essa função é o callback do aplicativo invocado ao encontrar um erro ao receber uma mensagem do Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
tipo enumerado
O estado do objeto de conexão do Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Essa função é o callback do aplicativo invocado depois do recebimento de um pacote de dados encapsulado pela conexão do Weave.

Atributos públicos

AppState
void *
Um ponteiro para o objeto de estado específico do aplicativo.
AuthMode
WeaveAuthMode
[SOMENTE LEITURA] O modo de autenticação usado para estabelecer as chaves de criptografia padrão para a conexão.
DefaultEncryptionType
uint8_t
O tipo de criptografia padrão de mensagens.
DefaultKeyId
uint16_t
A chave de criptografia padrão a ser usada ao enviar mensagens.
MessageLayer
[SOMENTE LEITURA] O objeto WeaveMessageLayer associado.
NetworkType
uint8_t
[SOMENTE LEITURA] O tipo de rede do endpoint final associado.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SOMENTE LEITURA] O endereço IP do nó de peering.
PeerNodeId
uint64_t
[SOMENTE LEITURA] O identificador de nó do peering.
PeerPort
uint16_t
[SOMENTE LEITURA] O número da porta do nó de peering.
ReceiveEnabled
bool
[SOMENTE Leitura] Verdadeiro se o recebimento estiver ativado. Caso contrário, é falso.
SendDestNodeId
bool
Verdadeiro se todas as mensagens enviadas por essa conexão precisarem incluir um identificador de nó de destino explicitamente codificado. Caso contrário, será falso.
SendSourceNodeId
bool
Verdadeiro se todas as mensagens enviadas por essa conexão precisarem incluir um identificador de nó de origem codificado explicitamente. Caso contrário, será falso.
State
uint8_t
[SOMENTE LEITURA] O estado do objeto WeaveConnection.

Funções públicas

Abort(void)
void
Realiza um fechamento suave do WeaveConnection baseado em TCP ou BLE, descartando qualquer dado que esteja no período de voo de ou para o peering.
AddRef(void)
void
Reserve uma referência ao objeto WeaveConnection.
Close(void)
Realiza um fechamento suave sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando todos os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.
Close(bool suppressCloseLog)
Realiza um fechamento suave sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando todos os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.
Connect(uint64_t peerNodeId)
Conectar a um nó do Weave usando um endereço IP do Fabric derivado do identificador de nós especificado.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Conectar a um nó do Weave usando um identificador de nós e/ou um endereço IP em uma interface específica.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Conecte-se a um nó do Weave usando um identificador de nós e/ou um nome de host de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço de peering de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço de peering de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conecte-se a um nó do Weave usando um identificador de nós e/ou uma lista de nomes do host e portas.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Conecte-se a um nó do Weave usando um identificador de nós e/ou uma lista de nomes do host e portas.
DisableKeepAlive(void)
DisableReceive(void)
void
Desative o recebimento por meio dessa WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Ative o recebimento por meio desta WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Consiga as informações de endereço IP do peering.
GetPeerDescription(char *buf, size_t bufSize) const
void
Cria uma string que descreve o nó de peering associado à conexão.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Reduzir a contagem de referência no objeto WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envie uma mensagem do Weave por uma conexão estabelecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Função para enviar um pacote encapsulado por uma conexão Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Defina o tempo limite de conclusão da conexão ou retorne um erro.
SetIdleTimeout(uint32_t timeoutMS)
Defina o tempo limite de inatividade na conexão da camada de rede subjacente.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Realiza um encerramento elegante de TCP, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP de peering.

Tipos públicos

58

 @58
Propriedades
kGetPeerDescription_MaxLength

Tamanho máximo da string (incluindo o caractere NUL) retornado por GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Essa função é o callback do aplicativo que é invocado quando uma conexão é fechada.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] conErr
O WEAVE_ERROR encontrado quando a conexão foi fechada.

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Essa função é o callback do aplicativo invocado quando a configuração da conexão é concluída.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] conErr
O WEAVE_ERROR encontrado durante a configuração da conexão.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Essa função é o callback do aplicativo que é invocado quando uma mensagem é recebida por uma conexão do Weave.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] msgInfo
Um ponteiro para uma estrutura WeaveMessageInfo que contém informações sobre a mensagem.
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém a mensagem.

NetworkType

 NetworkType

O tipo de rede do objeto de conexão do Weave.

Propriedades
kNetworkType_BLE

Tipo de rede BLE.

kNetworkType_IP

Tipo de rede TCP/IP.

kNetworkType_Unassigned

Tipo de rede não atribuído.

FunErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Essa função é o callback do aplicativo invocado ao encontrar um erro ao receber uma mensagem do Weave.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] err
O WEAVE_ERROR encontrado ao receber dados pela conexão.

Estado

 State

O estado do objeto de conexão do Weave.

Propriedades
kState_Closed

Indica quando a conexão é encerrada.

kState_Connected

Estado quando a conexão é estabelecida.

kState_Connecting

Estado quando há uma tentativa de conexão.

kState_EstablishingSession

Indique quando uma sessão segura está sendo estabelecida.

kState_ReadyToConnect

Estado após a inicialização da conexão do Weave.

kState_Resolving

Status quando a resolução de nome DNS está sendo realizada.

kState_SendShutdown

Estado quando a conexão está sendo encerrada.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Essa função é o callback do aplicativo invocado depois do recebimento de um pacote de dados encapsulado pela conexão do Weave.

Detalhes
Parâmetros
[in] con
Um ponteiro para o objeto WeaveConnection.
[in] msgInfo
Um ponteiro para o objeto WeaveMessageInfo.
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém o pacote em túnel recebido.

Atributos públicos

Estado do app

void * AppState

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

Modo Auth

WeaveAuthMode AuthMode

[SOMENTE LEITURA] O modo de autenticação usado para estabelecer as chaves de criptografia padrão para a conexão.

Tipo de criptografia padrão

uint8_t DefaultEncryptionType

O tipo de criptografia padrão de mensagens.

Código da chave padrão

uint16_t DefaultKeyId

A chave de criptografia padrão a ser usada ao enviar mensagens.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOMENTE LEITURA] O objeto WeaveMessageLayer associado.

NetworkType

uint8_t NetworkType

[SOMENTE LEITURA] O tipo de rede do endpoint final associado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

Peering

IPAddress PeerAddr

[SOMENTE LEITURA] O endereço IP do nó de peering.

PeeringNodeId

uint64_t PeerNodeId

[SOMENTE LEITURA] O identificador de nó do peering.

Porta de peering

uint16_t PeerPort

[SOMENTE LEITURA] O número da porta do nó de peering.

ReceiveEnabled

bool ReceiveEnabled

[SOMENTE Leitura] Verdadeiro se o recebimento estiver ativado. Caso contrário, é falso.

EnviarDestNodeId

bool SendDestNodeId

Verdadeiro se todas as mensagens enviadas por essa conexão precisarem incluir um identificador de nó de destino explicitamente codificado. Caso contrário, será falso.

EnviarSourceNodeId

bool SendSourceNodeId

Verdadeiro se todas as mensagens enviadas por essa conexão precisarem incluir um identificador de nó de origem codificado explicitamente. Caso contrário, será falso.

Estado

uint8_t State

[SOMENTE LEITURA] O estado do objeto WeaveConnection.

Funções públicas

Cancelar

void Abort(
  void
)

Realiza um fechamento suave do WeaveConnection baseado em TCP ou BLE, descartando qualquer dado que esteja no período de voo de ou para o peering.

Uma chamada para Abort() encerra imediatamente a conexão subjacente. Depois disso, o objeto WeaveConnection não pode mais ser usado para comunicação adicional.

Chamar Abort() reduz a contagem de referência associada ao objeto WeaveConnection, independentemente de a conexão estar aberta ou ativa no momento em que o método é chamado. Se isso fizer com que a contagem de referência chegue a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não pode ter mais interações com o objeto.

Veja também:
Shutdown(), Abort(), AddRef() e Release().

Adicionar referência

void AddRef(
  void
)

Reserve uma referência ao objeto WeaveConnection.

O método AddRef() incrementa a contagem de referências associada ao objeto WeaveConnection. Para cada chamada para AddRef(), o aplicativo é responsável por fazer uma chamada correspondente para Release(), Close() ou Abort().

Fechar

WEAVE_ERROR Close(
  void
)

Realiza um fechamento suave sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando todos os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.

Esse método não garante que todas as mensagens enviadas não confirmadas no nível de protocolo do aplicativo sejam recebidas por peering remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o possível para entregar todos os dados de saída pendentes antes de redefinir a conexão. Para TCP, Shutdown() deve ser usado antes de Close() se uma confirmação de confirmação de mensagem de camada de transporte for necessária antes de fechar a conexão. As conexões BLE não fornecem equivalente de Shutdown().

Para conexões baseadas em BLE, Close() fecha o WeaveConnection e retorna imediatamente, mas pode causar a retenção do objeto BLEEndPoint subjacente até que todos os dados de saída sejam enviados. Esse é um efeito colateral da implementação do protocolo de transporte Weave over BLE existente na BleLayer do Weave.

Depois que Close() for chamado, o objeto WeaveConnection não poderá mais ser usado para comunicação adicional.

Chamar Close() reduz a contagem de referência associada ao objeto WeaveConnection, independentemente de a conexão estar aberta ou ativa no momento em que o método é chamado. Se isso fizer com que a contagem de referência chegue a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não pode ter mais interações com o objeto.

Detalhes
Retorna
WEAVE_NO_ERROR incondicional.
Veja também:
Shutdown(), Abort(), AddRef() e Release().

Fechar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Realiza um fechamento suave sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando todos os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.

Esse método não garante que todas as mensagens enviadas não confirmadas no nível de protocolo do aplicativo sejam recebidas por peering remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o possível para entregar todos os dados de saída pendentes antes de redefinir a conexão. Para TCP, Shutdown() deve ser usado antes de Close() se uma confirmação de confirmação de mensagem de camada de transporte for necessária antes de fechar a conexão. As conexões BLE não fornecem equivalente de Shutdown().

Para conexões baseadas em BLE, Close() fecha o WeaveConnection e retorna imediatamente, mas pode causar a retenção do objeto BLEEndPoint subjacente até que todos os dados de saída sejam enviados. Esse é um efeito colateral da implementação do protocolo de transporte Weave over BLE existente na BleLayer do Weave.

Depois que Close() for chamado, o objeto WeaveConnection não poderá mais ser usado para comunicação adicional.

Chamar Close() reduz a contagem de referência associada ao objeto WeaveConnection, independentemente de a conexão estar aberta ou ativa no momento em que o método é chamado. Se isso fizer com que a contagem de referência chegue a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não pode ter mais interações com o objeto.

Detalhes
Parâmetros
[in] suppressCloseLog
Verdadeiro se os registros precisarem ser suprimidos. Caso contrário, será falso.
Retorna
WEAVE_NO_ERROR incondicional.
Veja também:
Shutdown(), Abort(), AddRef() e Release().

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Conectar a um nó do Weave usando um endereço IP do Fabric derivado do identificador de nós especificado.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço IP.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering, kNodeIdNotspecified, ou 0 se não for conhecido.
[in] peerAddr
O endereço IP do peering, IPAddress::Qualquer, se não for conhecido.
[in] peerPort
A porta opcional do peering, o padrão é WEAVE_PORT.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Conectar a um nó do Weave usando um identificador de nós e/ou um endereço IP em uma interface específica.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering, kNodeIdNotspecified, ou 0 se não for conhecido.
[in] authMode
O modo de autenticação desejado para o peering. Somente os modos CASE, PASE e Não autenticado são compatíveis.
[in] peerAddr
O endereço IP do peering, IPAddress::Qualquer, se não for conhecido.
[in] peerPort
A porta opcional do peering, o padrão é WEAVE_PORT.
[in] intf
A interface opcional a ser usada para se conectar ao nó de peering, o padrão é INET_NULL_INTERFACEID.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do identificador de nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou um nome de host de string.

Se fornecido, o peerAddr pode ser:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering, kNodeIdNotspecified, ou 0 se não for conhecido.
[in] authMode
O modo de autenticação desejado para o peering. Somente os modos CASE, PASE e Não autenticado são compatíveis.
[in] peerAddr
O endereço ou nome do host do peering como uma string C terminada em NULL.
[in] defaultPort
A porta padrão opcional a ser usada para a conexão se não for fornecida na string peerAddr.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço de peering de string.

Se fornecido, o peerAddr pode ser:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering, kNodeIdNotspecified, ou 0 se não for conhecido.
[in] authMode
O modo de autenticação desejado para o peering. Somente os modos CASE, PASE e Não autenticado são compatíveis.
[in] peerAddr
O endereço ou nome do host do peering como uma string C não terminada NULL.
[in] peerAddrLen
O comprimento da string de peerAddr.
[in] defaultPort
A porta padrão opcional a ser usada para a conexão se não for fornecida na string peerAddr.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou um endereço de peering de string.

Se fornecido, o peerAddr pode ser:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering, kNodeIdNotspecified, ou 0 se não for conhecido.
[in] authMode
O modo de autenticação desejado para o peering. Somente os modos CASE, PASE e Não autenticado são compatíveis.
[in] peerAddr
O endereço ou nome do host do peering como uma string C não terminada NULL.
[in] peerAddrLen
O comprimento da string de peerAddr.
[in] dnsOptions
Um valor inteiro que controla a execução da resolução de nomes de host. O valor deve ser o OR de um ou mais valores da enumeração #::nl::Inet::DNSOptions
[in] defaultPort
A porta padrão opcional a ser usada para a conexão se não for fornecida na string peerAddr.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou uma lista de nomes do host e portas.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering.
[in] authMode
O modo de autenticação usado para a conexão.
[in] hostPortList
A lista de nomes do host e portas.
[in] intf
A interface opcional a ser usada para se conectar ao nó de peering, o padrão é INET_NULL_INTERFACEID.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Conecte-se a um nó do Weave usando um identificador de nós e/ou uma lista de nomes do host e portas.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering.
[in] authMode
O modo de autenticação usado para a conexão.
[in] hostPortList
A lista de nomes do host e portas.
[in] dnsOptions
Um valor inteiro que controla a execução da resolução de nomes de host. O valor deve ser o OR de um ou mais valores da enumeração #::nl::Inet::DNSOptions
[in] intf
A interface opcional a ser usada para se conectar ao nó de peering, o padrão é INET_NULL_INTERFACEID.
Valores de retorno
WEAVE_NO_ERROR
no início da conexão com o terminal.
WEAVE_ERROR_INCORRECT_STATE
se o estado WeaveConnection estiver incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
se o modo de autenticação solicitado não for suportado.
WEAVE_ERROR_INVALID_ADDRESS
se não for possível deduzir o endereço de destino do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Desativar KeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive

Desativar sondagens de sinal de atividade TCP na conexão TCP subjacente.

Observação:esse método só pode ser chamado em uma conexão Weave apoiada por uma conexão TCP. Esse método só pode ser chamado quando a conexão estiver em um estado que permite o envio.

Esse método não terá efeito se os sinais de atividade não estiverem ativados na conexão.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
sobre a desativação bem-sucedida das sondagens de sinal de atividade TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se essa função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
other
Os erros da camada Inet relacionados ao endpoint TCP permitem a operação do sinal de atividade.

Desativar recebimento

void DisableReceive(
  void
)

Desative o recebimento por meio dessa WeaveConnection.

Esse método é usado pelo aplicativo para indicar que ele não está pronto para receber dados recebidos pela conexão TCP. Para reativar o recebimento, o aplicativo precisa chamar EnableReceive() para permitir que WeaveConnection entregue os dados recebidos invocando os callbacks adequados.

Veja também:
EnableReceive()

Ativar KeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive

Ativar sondagens de sinal de atividade TCP na conexão TCP subjacente.

Observação:esse método só pode ser chamado em uma conexão Weave apoiada por uma conexão TCP. - Esse método só pode ser chamado quando a conexão está em um estado que permite o envio.

Detalhes
Parâmetros
[in] interval
O intervalo (em segundos) entre sondagens de sinal de atividade. Esse valor também controla o tempo entre o último pacote de dados enviado e a transmissão da primeira sondagem de sinal de atividade.
[in] timeoutCount
O número máximo de sondagens não confirmadas antes da conexão ser considerada com falha.

- Esse método pode ser chamado várias vezes para ajustar o intervalo de sinal de atividade ou a contagem de tempo limite.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
sobre como ativar as sondagens de sinal de atividade TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se essa função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
other
Os erros da camada Inet relacionados ao endpoint TCP permitem a operação do sinal de atividade.

Ativar recebimento

void EnableReceive(
  void
)

Ative o recebimento por meio desta WeaveConnection.

Esse método é usado pelo aplicativo para indicar ao objeto WeaveConnection que ele está pronto para receber qualquer dado que chegar pela conexão TCP.

Veja também:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Consiga as informações de endereço IP do peering.

Detalhes
Parâmetros
[out] addrInfo
Uma referência ao objeto IPPacketInfo.
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_NOT_IMPLEMENTED
Se a função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Cria uma string que descreve o nó de peering associado à conexão.

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer em que a string precisa ser gravada. O buffer fornecido precisa ser pelo menos tão grande quanto o kGetPeerDescription_MaxLength. Se um buffer menor for fornecido, a string será truncada para caber. A saída incluirá um caractere de encerramento NUL em todos os casos.
[in] bufSize
O tamanho do buffer apontado por buf.

GetPointEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Recebido

bool IsIncoming(
  void
) const 

Código do registro

uint16_t LogId(
  void
) const 

Versão

void Release(
  void
)

Reduzir a contagem de referência no objeto WeaveConnection.

O método Release() diminui a contagem de referência associada ao objeto WeaveConnection. Se isso fizer com que a contagem de referência chegue a zero, a conexão será encerrada e o objeto de conexão será liberado. Quando isso acontece, o aplicativo não pode ter mais interações com o objeto.

Redefinir UserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Redefinir a opção de soquete do tempo limite do usuário TCP para o padrão do sistema.

Observação: esse método só pode ser chamado em uma conexão Weave apoiada por uma conexão TCP. - Esse método só pode ser chamado quando a conexão está em um estado que permite o envio.

- Esse método não faz nada se o tempo limite do usuário não tiver sido definido na conexão.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após a redefinição bem-sucedida do tempo limite do usuário TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se essa função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
other
Erros de camada Inet relacionados à redefinição do endpoint TCP do tempo limite do usuário de TCP.

Mensagem de envio

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem do Weave por uma conexão estabelecida.

Detalhes
Parâmetros
[in] msgInfo
Um ponteiro para um objeto WeaveMessageInfo.
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém o pacote a ser enviado.
Valores de retorno
WEAVE_NO_ERROR
ao enviar a mensagem para a camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
se o identificador do nó de destino não estiver especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros de camada Inet relacionados às operações específicas de envio do endpoint.

Enviar túnel enviado

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Função para enviar um pacote encapsulado por uma conexão Weave.

Envie uma mensagem do Weave em um túnel por uma conexão estabelecida.

Detalhes
Parâmetros
[in] msgInfo
Um ponteiro para um objeto WeaveMessageInfo.
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém o pacote a ser enviado.
Valores de retorno
WEAVE_NO_ERROR
ao enviar a mensagem para a camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
se o identificador do nó de destino não estiver especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros de camada Inet relacionados às operações específicas de envio do endpoint.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Defina o tempo limite de conclusão da conexão ou retorne um erro.

Detalhes
Parâmetros
[in] connTimeoutMsecs

Definir o tempo limite

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Defina o tempo limite de inatividade na conexão da camada de rede subjacente.

Detalhes
Parâmetros
[in] timeoutMS
tempo limite em milissegundos.
Valores de retorno
WEAVE_NO_ERROR
com sucesso da configuração do tempo limite de inatividade da conexão.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para receber mensagens.

Definirrecebimento

void SetIncoming(
  bool val
)

Definir o tempo limite do usuário

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Define a opção de soquete do tempo limite do usuário TCP.

Quando o valor é maior que 0, ele especifica o tempo máximo em milissegundos que os dados transmitidos podem permanecer não reconhecidos antes que o TCP feche à conexão correspondente. Se o valor da opção for especificado como 0, o TCP usará o padrão do sistema. Consulte o RFC 5482 para mais detalhes.

Detalhes
Parâmetros
[in] userTimeoutMillis
Valor de tempo limite do usuário de tcp em milissegundos.

Observação: esse método só pode ser chamado em uma conexão Weave apoiada por uma conexão TCP. - Esse método só pode ser chamado quando a conexão está em um estado que permite o envio.

- Esse método pode ser chamado várias vezes para ajustar o tempo limite do usuário de TCP.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
com sucesso na configuração de tempo limite do usuário TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se essa função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para enviar mensagens.
other
Erros de camada Inet relacionados à configuração de endpoint TCP do tempo limite do usuário TCP.

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Realiza um encerramento elegante de TCP, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP de peering.

Na maioria das implementações (mas não de todas) do TCP, o recebimento de um encerramento de envio fará com que o host remoto também encerre o lado da conexão, resultando em um encerramento de conexão. Uma chamada subsequente para Close() encerraria a WeaveConnection.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após o encerramento da conexão tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
se essa função for invocada para um endpoint incompatível (por exemplo, BLE) na camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto antes de iniciar um encerramento.
other
Erros de camada Inet relacionados às operações específicas de encerramento do endpoint.
Veja também:
Close() e Abort().