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
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Essa função é o callback do aplicativo que é invocado quando uma conexão é encerrada.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Essa função é o callback do aplicativo que é invocado quando uma configuração de conexão é concluída.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Essa função é o retorno de chamada do aplicativo que é invocado quando uma mensagem é recebida por uma conexão do Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
O tipo de rede do objeto de conexão do Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Essa função é o retorno de chamada do aplicativo ao encontrar um erro durante o recebimento de 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
}
enum
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 que é invocado ao receber 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 da conexão.
DefaultEncryptionType
uint8_t
O tipo de criptografia padrão das 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 ponto de extremidade 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, será falso.
SendDestNodeId
bool
Verdadeiro se todas as mensagens enviadas por essa conexão precisarem incluir um identificador de nó de destino codificado explicitamente. 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
Executa um fechamento não otimizado do WeaveConnection baseado em TCP ou BLE, descartando todos os dados que possam estar em trânsito de ou para o peering.
AddRef(void)
void
Reserve uma referência ao objeto WeaveConnection.
Close(void)
Executa um fechamento otimizado sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.
Close(bool suppressCloseLog)
Executa um fechamento otimizado sem bloqueio do WeaveConnection baseado em TCP ou BLE, entregando 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ó especificado.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Conectar-se a um nó do Weave usando um identificador de nó e/ou um endereço IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Conectar-se a um nó do Weave usando um identificador de nó e/ou um endereço IP em uma interface específica.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Conectar-se a um nó do Weave usando um identificador de nó e/ou um nome de host de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Conectar-se a um nó do Weave usando um identificador de nó 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)
Conectar-se a um nó do Weave usando um identificador de nó e/ou um endereço de peering de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conectar-se a um nó do Weave usando um identificador de nó e/ou uma lista de nomes de host e portas.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Conectar-se a um nó do Weave usando um identificador de nó e/ou uma lista de nomes de host e portas.
DisableKeepAlive(void)
DisableReceive(void)
void
Desativar o recebimento por meio deste WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Ativar o recebimento por meio deste WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Receba as informações do endereço IP do peering.
GetPeerDescription(char *buf, size_t bufSize) const
void
Constrói 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
Diminua a contagem de referência no objeto WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envia uma mensagem do Weave em uma conexão estabelecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Função para enviar um pacote encapsulado por uma conexão do Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Defina o tempo limite para que o Connect seja bem-sucedido ou retorne um erro.
SetIdleTimeout(uint32_t timeoutMS)
Defina o tempo limite de inatividade na conexão da camada de rede.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Executa um encerramento otimizado de envio do TCP, garantindo que todos os dados de saída sejam enviados e recebidos pela pilha TCP do peering.

Tipos públicos

@58

 @58
Propriedades
kGetPeerDescription_MaxLength

Comprimento 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 é encerrada.

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

ConnectionCompleteFunct

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

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

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

MessageReceiveFunct

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

Essa função é o retorno de chamada 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 PacketBuffer 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.

ReceiveErrorFunct

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

Essa função é o retorno de chamada do aplicativo ao encontrar um erro durante o recebimento de uma mensagem do Weave.

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

Estado

 State

O estado do objeto de conexão do Weave.

Propriedades
kState_Closed

Estado quando a conexão está encerrada.

kState_Connected

Estado quando a conexão foi estabelecida.

kState_Connecting

Estado quando há uma tentativa de conexão.

kState_EstablishingSession

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

kState_ReadyToConnect

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

kState_Resolving

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

kState_SendShutdown

Indicar quando a conexão está sendo encerrada.

TunneledMsgReceiveFunct

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

Essa função é o callback do aplicativo que é invocado ao receber 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 encapsulado recebido.

Atributos públicos

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

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

DefaultEncryptionType

uint8_t DefaultEncryptionType

O tipo de criptografia padrão das mensagens.

DefaultKeyId

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 ponto de extremidade associado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

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

PeerNodeId

uint64_t PeerNodeId

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

PeerPort

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, será falso.

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

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
)

Executa um fechamento não otimizado do WeaveConnection baseado em TCP ou BLE, descartando todos os dados que possam estar em trânsito de ou para o peering.

Uma chamada para Abort() encerra imediatamente a conexão subjacente. Depois disso, o objeto WeaveConnection não poderá mais ser usado para outras comunicações.

Chamar Abort() diminui a contagem de referência associada ao objeto WeaveConnection, estando a conexão aberta/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.

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

AddRef

void AddRef(
  void
)

Reserve uma referência ao objeto WeaveConnection.

O método AddRef() incrementa a contagem de referência 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
)

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

Esse método não fornece garantia forte de que qualquer mensagem de saída não reconhecida no nível do protocolo do aplicativo tenha sido recebida pelo ponto remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o possível para entregar 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 recebimento de mensagem de camada de transporte for necessária antes de encerrar a conexão. As conexões BLE não fornecem equivalente ao Shutdown().

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

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

Chamar Close() diminui a contagem de referência associada ao objeto WeaveConnection, estando a conexão aberta/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 incondicionalmente.
Consulte também:
Shutdown(), Abort(), AddRef() e Release().

Fechar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

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

Esse método não fornece garantia forte de que qualquer mensagem de saída não reconhecida no nível do protocolo do aplicativo tenha sido recebida pelo ponto remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o possível para entregar 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 recebimento de mensagem de camada de transporte for necessária antes de encerrar a conexão. As conexões BLE não fornecem equivalente ao Shutdown().

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

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

Chamar Close() diminui a contagem de referência associada ao objeto WeaveConnection, estando a conexão aberta/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
"true" se os registros precisam ser suprimidos. Caso contrário, é "false".
Retorna
WEAVE_NO_ERROR incondicionalmente.
Consulte também:
Shutdown(), Abort(), AddRef() e Release().

Conectar

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Detalhes
Parâmetros
[in] peerNodeId
É o identificador do nó do peering.
Valores de retorno
WEAVE_NO_ERROR
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

Conectar-se a um nó do Weave usando um identificador de nó 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::Any caso não seja conhecido.
[in] peerPort
A porta opcional do ponto, padrão para WEAVE_PORT.
Valores de retorno
WEAVE_NO_ERROR
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

Conectar-se a um nó do Weave usando um identificador de nó 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::Any caso não seja conhecido.
[in] peerPort
A porta opcional do ponto, padrão para 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
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do identificador do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Se fornecido, peeringAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 ponto 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 peeringAddr.
Valores de retorno
WEAVE_NO_ERROR
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Se fornecido, peeringAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 ponto como uma string C com terminação não NULL.
[in] peerAddrLen
O tamanho da string "peerAddr".
[in] defaultPort
A porta padrão opcional a ser usada para a conexão se não for fornecida na string peeringAddr.
Valores de retorno
WEAVE_NO_ERROR
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Se fornecido, peeringAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 ponto como uma string C com terminação não NULL.
[in] peerAddrLen
O tamanho da string "peerAddr".
[in] dnsOptions
Um valor inteiro que controla como a resolução do nome do host é executada. O valor deve ser o operador 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 peeringAddr.
Valores de retorno
WEAVE_NO_ERROR
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Detalhes
Parâmetros
[in] peerNodeId
É o identificador do nó do peering.
[in] authMode
O modo de autenticação usado para a conexão.
[in] hostPortList
A lista de nomes de 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
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Detalhes
Parâmetros
[in] peerNodeId
É o identificador do nó do peering.
[in] authMode
O modo de autenticação usado para a conexão.
[in] hostPortList
A lista de nomes de host e portas.
[in] dnsOptions
Um valor inteiro que controla como a resolução do nome do host é executada. O valor deve ser o operador 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
ao iniciar a conexão com o peering.
WEAVE_ERROR_INCORRECT_STATE
caso o estado WeaveConnection esteja incorreto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
caso o modo de autenticação solicitado não seja suportado.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do ID do nó.
other
Erros de camada Inet gerados pelas operações de conexão TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DesativarKeepAlive.

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

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

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

Detalhes
Valores de retorno
WEAVE_NO_ERROR
na desativação bem-sucedida das sondagens de sinal de atividade TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta 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 habilitam a operação de sinal de atividade.

DisableReceive

void DisableReceive(
  void
)

Desativar o recebimento por meio deste WeaveConnection.

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

Consulte também:
EnableReceive()

EnableKeepAlive

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 do Weave apoiada por uma conexão TCP. - Esse método só pode ser chamado quando a conexão está em um estado que permita o envio.

Detalhes
Parâmetros
[in] interval
O intervalo (em segundos) entre as 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 que a conexão seja considerada como falha.

- Este 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
na ativação bem-sucedida das sondagens de sinal de atividade do TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta 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 habilitam a operação de sinal de atividade.

EnableReceive

void EnableReceive(
  void
)

Ativar o recebimento por meio deste WeaveConnection.

Este método é usado pelo aplicativo para indicar ao objeto WeaveConnection que ele está pronto para receber dados que chegarem pela conexão TCP.

Consulte também:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Receba as informações do endereço IP do peering.

Detalhes
Parâmetros
[out] addrInfo
Uma referência ao objeto IPPacketInfo.
Valores de retorno
WEAVE_NO_ERROR
Se der certo.
WEAVE_ERROR_NOT_IMPLEMENTED
Se esta 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 

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

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer no qual a string precisa ser gravada. O buffer fornecido deve ter pelo menos o tamanho de 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 pelo buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Versão

void Release(
  void
)

Diminua 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.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Redefina a opção de soquete de 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 do Weave apoiada por uma conexão TCP. - Esse método só pode ser chamado quando a conexão está em um estado que permita o envio.

- Este 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
na redefinição bem-sucedida do tempo limite do usuário TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta 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 TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envia uma mensagem do Weave em uma conexão estabelecida.

Detalhes
Parâmetros
[in] msgInfo
Um ponteiro para um objeto WeaveMessageInfo.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer 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 a operações específicas de envio do endpoint.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Envia uma mensagem Weave encapsulada por uma conexão estabelecida.

Detalhes
Parâmetros
[in] msgInfo
Um ponteiro para um objeto WeaveMessageInfo.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer 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 a operações específicas de envio do endpoint.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Defina o tempo limite para que o Connect seja bem-sucedido ou retorne um erro.

Detalhes
Parâmetros
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

Detalhes
Parâmetros
[in] timeoutMS
o tempo limite em milissegundos.
Valores de retorno
WEAVE_NO_ERROR
na configuração bem-sucedida 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.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

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

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

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

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

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

Detalhes
Valores de retorno
WEAVE_NO_ERROR
na configuração bem-sucedida do tempo limite do usuário TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta 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 da camada Inet relacionados à configuração do endpoint TCP do tempo limite do usuário TCP.

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Executa um encerramento otimizado de envio do TCP, garantindo que todos os dados de saída sejam enviados e recebidos pela pilha TCP do peering.

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

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após o encerramento da conexão TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta 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 da camada Inet relacionados a operações específicas de encerramento do endpoint.
Confira também:
Close() e Abort().