nl::Weave::WeaveConnection

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

A definição da classe Conexão do Weave.

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 invocado quando uma conexão é encerrada.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Essa função é o callback do aplicativo invocado quando a configuração de uma conexão é concluída.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Essa função é o callback do aplicativo 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 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
}
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 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 para mensagens.
DefaultKeyId
uint16_t
A chave de criptografia padrão a ser usada ao enviar mensagens.
MessageLayer
[READ ONLY] O objeto WeaveMessageLayer associado.
NetworkType
uint8_t
[SOMENTE LEITURA] O tipo de rede do endpoint 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 terminal.
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 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
[READ ONLY] O estado do objeto WeaveConnection.

Funções públicas

Abort(void)
void
Executa um fechamento irregular da WeaveConnection baseada em TCP ou BLE, descartando todos os dados que possam estar em trânsito de ou para o peer.
AddRef(void)
void
Reserve uma referência ao objeto WeaveConnection.
Close(void)
Executa um fechamento sem bloqueio da WeaveConnection baseada em TCP ou BLE, fornecendo os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.
Close(bool suppressCloseLog)
Executa um fechamento sem bloqueio da WeaveConnection baseada em TCP ou BLE, fornecendo os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.
Connect(uint64_t peerNodeId)
Conecte-se a um nó do Weave usando um endereço IP de malha derivado do identificador de nó especificado.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Conecte-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)
Conecte-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)
Conecte-se a um nó do Weave usando um identificador de nó e/ou um nome de host de uma 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ó e/ou um endereço de string semelhante.
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ó e/ou um endereço de string semelhante.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conecte-se a um nó do Weave usando um identificador de nó 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ó e/ou uma lista de nomes do host e portas.
DisableKeepAlive(void)
DisableReceive(void)
void
Desativar o recebimento por esta WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Ativar o recebimento nesta WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Consiga as informações de endereço IP do terminal.
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
Reduza a contagem de referência no objeto WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envie uma mensagem do Weave por meio de uma conexão estabelecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Função para enviar um pacote encapsulado em uma conexão do Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Defina um tempo limite para que o Connect funcione 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 de envio TCP sem dificuldades, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP do terminal.

Tipos públicos

a 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 invocado quando uma conexão é encerrada.

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

ConnectionCompleteFunct

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

Essa função é o callback do aplicativo invocado quando a configuração de uma 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 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.

ReceiveErrorFunct

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

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

Estado quando a conexão é encerrada.

kState_Connected

Estado em que a conexão foi estabelecida.

kState_Connecting

Estado quando há uma tentativa de conexão.

kState_EstablishingSession

Estado 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

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 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 para mensagens.

DefaultKeyId

uint16_t DefaultKeyId

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

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] O objeto WeaveMessageLayer associado.

NetworkType

uint8_t NetworkType

[SOMENTE LEITURA] O tipo de rede do endpoint 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 terminal.

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, 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

[READ ONLY] O estado do objeto WeaveConnection.

Funções públicas

Cancelar

void Abort(
  void
)

Executa um fechamento irregular da WeaveConnection baseada em TCP ou BLE, descartando todos os dados que possam estar em trânsito de ou para o peer.

Uma chamada para Abort() encerra imediatamente a conexão subjacente. Depois deste ponto, o objeto WeaveConnection não pode mais ser usado para comunicações adicionais.

Chamar Abort() diminui a contagem de referências associadas ao objeto WeaveConnection, esteja a conexão 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.

Consulte 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 sem bloqueio da WeaveConnection baseada em TCP ou BLE, fornecendo os dados de saída restantes antes de informar educadamente ao host remoto que redefinimos a conexão.

Esse método não oferece uma garantia forte de que qualquer mensagem de saída não confirmada no nível do protocolo do aplicativo tenha sido recebida pelo terminal remoto. Tanto para TCP quanto BLE, a pilha de protocolos subjacente fará o possível para entregar os dados de saída pendentes antes de redefinir a conexão. Para TCP, use Shutdown() antes de Close() se uma confirmação de recebimento de mensagem da camada de transporte for necessária antes de fechar a conexão. As conexões BLE não oferecem um equivalente para Shutdown().

Para conexões baseadas em BLE, o Close() fecha a WeaveConnection e retorna imediatamente, mas pode fazer com que o objeto BLEEndPoint permaneça 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 no Weave BleLayer.

Uma vez que Close() seja chamado, o objeto WeaveConnection não poderá mais ser usado para comunicações adicionais.

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

Fechar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

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

Esse método não oferece uma garantia forte de que qualquer mensagem de saída não confirmada no nível do protocolo do aplicativo tenha sido recebida pelo terminal remoto. Tanto para TCP quanto BLE, a pilha de protocolos subjacente fará o possível para entregar os dados de saída pendentes antes de redefinir a conexão. Para TCP, use Shutdown() antes de Close() se uma confirmação de recebimento de mensagem da camada de transporte for necessária antes de fechar a conexão. As conexões BLE não oferecem um equivalente para Shutdown().

Para conexões baseadas em BLE, o Close() fecha a WeaveConnection e retorna imediatamente, mas pode fazer com que o objeto BLEEndPoint permaneça 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 no Weave BleLayer.

Uma vez que Close() seja chamado, o objeto WeaveConnection não poderá mais ser usado para comunicações adicionais.

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

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Conecte-se a um nó do Weave usando um endereço IP de malha derivado do identificador de nó especificado.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do peering.
Valores de retorno
WEAVE_NO_ERROR
no início bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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ó e/ou um endereço IP.

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par, kNodeIdNotspecified ou 0, se não for conhecido.
[in] peerAddr
O endereço IP do peering, IPAddress::Any se não for conhecido.
[in] peerPort
A porta opcional do peer, padrão para WEAVE_PORT.
Valores de retorno
WEAVE_NO_ERROR
no início bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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
)

Conecte-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 par, 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 Unauthenticated são compatíveis.
[in] peerAddr
O endereço IP do peering, IPAddress::Any se não for conhecido.
[in] peerPort
A porta opcional do peer, 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
no início bem-sucedido da conexão com o par.
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 do nó.
other
Erros da 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ó e/ou um nome de host de uma string.

Se fornecido, peeringAddr poderá ser qualquer um destes:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par, 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 Unauthenticated são compatíveis.
[in] peerAddr
O endereço ou o 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 bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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ó e/ou um endereço de string semelhante.

Se fornecido, peeringAddr poderá ser qualquer um destes:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par, 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 Unauthenticated são compatíveis.
[in] peerAddr
O endereço ou o nome do host do peering como uma string C terminada em 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 peerAddr.
Valores de retorno
WEAVE_NO_ERROR
no início bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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ó e/ou um endereço de string semelhante.

Se fornecido, peeringAddr poderá ser qualquer um destes:


:

:

[]:

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par, 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 Unauthenticated são compatíveis.
[in] peerAddr
O endereço ou o nome do host do peering como uma string C terminada em NULL.
[in] peerAddrLen
O tamanho da string peerAddr.
[in] dnsOptions
Um valor inteiro que controla como a resolução do nome do host é realizada. 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 bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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ó 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 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
no início bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da 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ó 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 de host e portas.
[in] dnsOptions
Um valor inteiro que controla como a resolução do nome do host é realizada. 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 bem-sucedido da conexão com o par.
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 o endereço de destino não puder ser deduzido do ID do nó.
other
Erros da camada Inet gerados pelas operações de conexão TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Desative as 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 com suporte de 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 fará nada se os sinais de atividade não tiverem sido ativados na conexão.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após 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 o envio de mensagens.
other
Os erros da camada Inet relacionados ao endpoint TCP ativam a operação de sinal de atividade.

DisableReceive

void DisableReceive(
  void
)

Desativar o recebimento por esta WeaveConnection.

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

Confira também:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Ative as 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 com suporte de 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 falha na conexão.

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

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após a ativaçã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 o envio de mensagens.
other
Os erros da camada Inet relacionados ao endpoint TCP ativam a operação de sinal de atividade.

EnableReceive

void EnableReceive(
  void
)

Ativar o recebimento nesta WeaveConnection.

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

Confira também:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

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

Detalhes
Parâmetros
[out] addrInfo
Uma referência ao objeto IPPacketInfo.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_ERROR_NOT_IMPLEMENTED
Se essa 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 em que a string precisa ser gravada. O buffer fornecido deve ter pelo menos o tamanho kGetPeerDescription_MaxLength. Se for fornecido um buffer menor, a string será truncada para caber. A saída vai incluir um caractere de encerramento NUL em todos os casos.
[in] bufSize
O tamanho do buffer apontado por buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Versão

void Release(
  void
)

Reduza a contagem de referência no objeto WeaveConnection.

O método Release() diminui a contagem de referências associadas 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 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 do Weave com suporte de uma conexão TCP. -esse método só pode ser chamado quando a conexão está em um estado que permite o envio.

-Este método não fará 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 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 o envio de mensagens.
other
Erros da camada Inet relacionados à redefinição do endpoint TCP do tempo limite do usuário TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem do Weave por meio de 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
envio bem-sucedido da mensagem para a camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para o envio de mensagens.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
se o identificador do nó de destino não for especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros da camada Inet relacionados às operações específicas de envio do endpoint.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Envie uma mensagem do Weave em 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
envio bem-sucedido da mensagem para a camada de rede.
WEAVE_ERROR_INCORRECT_STATE
se o objeto WeaveConnection não estiver no estado correto para o envio de mensagens.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
se o identificador do nó de destino não for especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros da camada Inet relacionados às operações específicas de envio do endpoint.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Defina um tempo limite para que o Connect funcione 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
tempo limite em milissegundos.
Valores de retorno
WEAVE_NO_ERROR
após a 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.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout (em inglês).

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

Quando o valor é maior que 0, ele especifica a quantidade máxima de tempo em milissegundos que os dados transmitidos podem permanecer sem confirmação 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 o RFC 5482 para obter mais detalhes.

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

Observação:esse método só pode ser chamado em uma conexão do Weave com suporte de 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 do TCP.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após a configuraçã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 o envio de mensagens.
other
Erros da camada Inet relacionados à configuração do endpoint TCP do tempo limite do usuário TCP.

Encerramento

WEAVE_ERROR Shutdown(
  void
)

Executa um encerramento de envio TCP sem dificuldades, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP do terminal.

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

Detalhes
Valores de retorno
WEAVE_NO_ERROR
após o encerramento bem-sucedido 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 da camada Inet relacionados às operações específicas de encerramento do endpoint.
Consulte também:
Close() e Abort().