O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

nl :: Tecer:: 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ó Weave.

Tipos públicos

@58 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta função é o retorno de chamada do aplicativo que é invocado quando uma conexão é fechada.
ConnectionCompleteFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta função é o retorno de chamada do aplicativo que é invocado quando uma configuração de conexão é concluída.
MessageReceiveFunct )(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Esta função é o retorno de chamada do aplicativo que é invocado quando uma mensagem é recebida por uma conexão Weave.
NetworkType {
kNetworkType_Unassigned = 0,
kNetworkType_IP = 1,
kNetworkType_BLE = 2
}
enum
O tipo de rede do objeto de conexão Weave.
ReceiveErrorFunct )(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Esta 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 Weave.
TunneledMsgReceiveFunct )(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Esta função é o retorno de chamada do aplicativo que é invocado após o recebimento de um pacote de dados em túnel pela conexão Weave.

Atributos públicos

AppState
void *
Um ponteiro para o objeto de estado específico do aplicativo.
AuthMode
WeaveAuthMode
[READ ONLY] 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 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 terminal associado.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SOMENTE LEITURA] O endereço IP do nó do par.
PeerNodeId
uint64_t
[READ ONLY] O identificador de nó do par.
PeerPort
uint16_t
[READ ONLY] O número da porta do nó do par.
ReceiveEnabled
bool
[SOMENTE LEITURA] Verdadeiro se o recebimento estiver habilitado, falso caso contrário.
SendDestNodeId
bool
Verdadeiro se todas as mensagens enviadas por meio desta conexão devem incluir um identificador de nó de destino codificado explicitamente, caso contrário, falso.
SendSourceNodeId
bool
Verdadeiro se todas as mensagens enviadas por meio desta conexão devem incluir um identificador de nó de origem codificado explicitamente, caso contrário, falso.
State
uint8_t
[SOMENTE LEITURA] O estado do objeto WeaveConnection .

Funções públicas

Abort (void)
void
Executa um fechamento desagradável do WeaveConnection baseado em TCP ou BLE, descartando quaisquer dados que possam estar em voo de ou para o par.
AddRef (void)
void
Reserve uma referência ao objeto WeaveConnection .
Close (void)
Executa um fechamento normal 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)
Executa um fechamento normal 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)
Conecte-se a um nó 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ó 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ó 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ó 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)
Conecte-se a um nó Weave usando um identificador de nó e / ou um endereço de mesmo nível 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ó Weave usando um identificador de nó e / ou um endereço de mesmo nível de string.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conecte-se a um nó 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)
Conecte-se a um nó Weave usando um identificador de nó e / ou uma lista de nomes de host e portas.
DisableKeepAlive (void)
DisableReceive (void)
void
Desative o recebimento neste WeaveConnection .
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
EnableReceive (void)
void
Ative o recebimento por meio deste WeaveConnection .
GetPeerAddressInfo (IPPacketInfo & addrInfo)
Obtenha as informações do endereço IP do par.
GetPeerDescription (char *buf, size_t bufSize) const
void
Constrói uma string que descreve o nó de mesmo nível 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)
Envie uma mensagem Weave por meio de uma conexão estabelecida.
SendTunneledMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Função para enviar um pacote encapsulado em uma conexão 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 subjacente.
SetIncoming (bool val)
void
SetUserTimeout (uint32_t userTimeoutMillis)
Shutdown (void)
Executa um desligamento de envio de TCP elegante, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP do par.

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)

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

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

Esta função é o retorno de chamada do aplicativo que é invocado quando uma mensagem é recebida por meio de uma conexão Weave.

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

Tipo de rede

 NetworkType

O tipo de rede do objeto de conexão 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)

Esta 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
WEAVE_ERROR encontrado ao receber dados pela conexão.

Estado

 State

O estado do objeto de conexão Weave.

Propriedades
kState_Closed

Indique quando a conexão é encerrada.

kState_Connected

Indique quando a conexão foi estabelecida.

kState_Connecting

Estado quando a conexão está sendo tentada.

kState_EstablishingSession

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

kState_ReadyToConnect

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

kState_Resolving

Indique quando a resolução de nomes DNS está sendo executada.

kState_SendShutdown

Indique quando a conexão está sendo encerrada.

TunneledMsgReceiveFunct

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

Essa função é o retorno de chamada do aplicativo que é invocado após o recebimento de um pacote de dados em túnel pela conexão 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 PacketBuffer que contém o pacote em túnel recebido.

Atributos públicos

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

[READ ONLY] O modo de autenticação usado para estabelecer as chaves de criptografia padrão para a 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.

Tipo de rede

uint8_t NetworkType

[SOMENTE LEITURA] O tipo de rede do terminal associado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] O endereço IP do nó do par.

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] O identificador de nó do par.

PeerPort

uint16_t PeerPort

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

ReceiveEnabled

bool ReceiveEnabled

[SOMENTE LEITURA] Verdadeiro se o recebimento estiver habilitado, falso caso contrário.

SendDestNodeId

bool SendDestNodeId

Verdadeiro se todas as mensagens enviadas por meio desta conexão devem incluir um identificador de nó de destino codificado explicitamente, caso contrário, falso.

SendSourceNodeId

bool SendSourceNodeId

Verdadeiro se todas as mensagens enviadas por meio desta conexão devem incluir um identificador de nó de origem codificado explicitamente, caso contrário, falso.

Estado

uint8_t State

[SOMENTE LEITURA] O estado do objeto WeaveConnection .

Funções públicas

Abortar

void Abort(
  void
)

Executa um fechamento desagradável do WeaveConnection baseado em TCP ou BLE, descartando quaisquer dados que possam estar em voo de ou para o par.

Uma chamada para Abort () termina imediatamente a conexão subjacente. Após este ponto, o objeto WeaveConnection não pode mais ser usado para comunicação posterior.

Chamar Abort () diminui a contagem de referência associada ao objeto WeaveConnection , esteja ou não a conexão aberta / ativa no momento em que o método é chamado. Se isso resultar na contagem de referência chegando a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não deve ter mais interações com o objeto.

Veja também:
Desligar () , Abortar () , AddRef () e Liberar () .

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 () .

Perto

WEAVE_ERROR Close(
  void
)

Executa um fechamento normal 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.

Este método não fornece nenhuma garantia forte de que qualquer mensagem de saída não confirmada no nível do protocolo do aplicativo foi recebida pelo par remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o melhor esforço 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 recebimento de mensagem da camada de transporte for necessária antes de fechar a conexão. As conexões BLE não fornecem equivalente a Shutdown () .

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

Depois 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 , esteja ou não a conexão aberta / ativa no momento em que o método é chamado. Se isso resultar na contagem de referência chegando a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não deve ter mais interações com o objeto.

Detalhes
Devoluções
WEAVE_NO_ERROR incondicionalmente.
Veja também:
Desligar () , Abortar () , AddRef () e Liberar () .

Perto

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Executa um fechamento normal 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.

Este método não fornece nenhuma garantia forte de que qualquer mensagem de saída não confirmada no nível do protocolo do aplicativo foi recebida pelo par remoto. Para TCP e BLE, a pilha de protocolo subjacente fará o melhor esforço 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 recebimento de mensagem da camada de transporte for necessária antes de fechar a conexão. As conexões BLE não fornecem equivalente a Shutdown () .

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

Depois 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 , esteja ou não a conexão aberta / ativa no momento em que o método é chamado. Se isso resultar na contagem de referência chegando a zero, os recursos associados ao objeto de conexão serão liberados. Quando isso acontece, o aplicativo não deve ter mais interações com o objeto.

Detalhes
Parâmetros
[in] suppressCloseLog
verdadeiro se os logs precisam ser suprimidos, falso caso contrário.
Devoluções
WEAVE_NO_ERROR incondicionalmente.
Veja também:
Desligar () , Abortar () , AddRef () e Liberar () .

Conectar

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par.
Valores Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode ser deduzido do id do nó.
other
Erros da camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

Conecte-se a um nó 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 par, IPAddress :: Any, se não for conhecido.
[in] peerPort
A porta opcional do par, padrão para WEAVE_PORT .
Valores Retornados
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 compatível.
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.

Conectar

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

Conecte-se a um nó 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 par. Apenas os modos CASE, PASE e Unauthenticated são suportados.
[in] peerAddr
O endereço IP do par, IPAddress :: Any, se não for conhecido.
[in] peerPort
A porta opcional do par, padrão para WEAVE_PORT .
[in] intf
A interface opcional a ser usada para conectar ao nó de mesmo nível, padrão para INET_NULL_INTERFACEID .
Valores Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não puder ser deduzido do identificador de nó.
other
Erros da 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
)

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

Se fornecido, peerAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 par. Apenas os modos CASE, PASE e Unauthenticated são suportados.
[in] peerAddr
O endereço ou nome do host do par 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 Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode ser deduzido do id do nó.
other
Erros da 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
)

Conecte-se a um nó Weave usando um identificador de nó e / ou um endereço de mesmo nível de string.

Se fornecido, peerAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 par. Apenas os modos CASE, PASE e Unauthenticated são suportados.
[in] peerAddr
O endereço ou nome do host do par como uma string C não terminada em NULL.
[in] peerAddrLen
O comprimento 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 Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode ser deduzido do id do nó.
other
Erros da 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
)

Conecte-se a um nó Weave usando um identificador de nó e / ou um endereço de mesmo nível de string.

Se fornecido, peerAddr pode ser qualquer um dos seguintes:


:

:

[]:

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 par. Apenas os modos CASE, PASE e Unauthenticated são suportados.
[in] peerAddr
O endereço ou nome do host do par como uma string C não terminada em NULL.
[in] peerAddrLen
O comprimento da string peerAddr.
[in] dnsOptions
Um valor inteiro que controla como a resolução do nome do host é executada. 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 Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode ser deduzido do id do nó.
other
Erros da camada Inet gerados pelas operações de conexão TCPEndPoint.

Conectar

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

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

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par.
[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 conectar ao nó de mesmo nível, padrão para INET_NULL_INTERFACEID .
Valores Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode ser deduzido do id do nó.
other
Erros da 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
)

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

Detalhes
Parâmetros
[in] peerNodeId
O identificador de nó do par.
[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 OR de um ou mais valores da enumeração # :: nl :: Inet :: DNSOptions.
[in] intf
A interface opcional a ser usada para conectar ao nó de mesmo nível, padrão para INET_NULL_INTERFACEID .
Valores Retornados
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 compatível.
WEAVE_ERROR_INVALID_ADDRESS
se o endereço de destino não pode 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 os testes de manutenção de atividade do TCP na conexão TCP subjacente.

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

Este método não faz nada se o keepalives não tiver sido habilitado na conexão.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
na desativação bem-sucedida de testes de manutenção de atividade TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta função for chamada para um ponto de extremidade 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 ponto de extremidade TCP permitem a operação de manutenção de atividade.

DisableReceive

void DisableReceive(
  void
)

Desative o recebimento neste WeaveConnection .

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

Veja também:
EnableReceive ()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

Habilite probes keepalive de TCP na conexão TCP subjacente.

Nota: -Este método só pode ser chamado em uma conexão Weave apoiada por uma conexão TCP. -Este 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 as análises de manutenção de atividade. Este valor também controla o tempo entre o último pacote de dados enviado e a transmissão da primeira sonda keep-alive.
[in] timeoutCount
O número máximo de probes não confirmados antes que a conexão seja considerada falha.

-Este método pode ser chamado várias vezes para ajustar o intervalo de manutenção de atividade ou a contagem de tempo limite.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
na ativação bem-sucedida de testes keep-alive TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta função for chamada para um ponto de extremidade 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 terminal TCP permitem a operação de manutenção de atividade.

EnableReceive

void EnableReceive(
  void
)

Ative o recebimento por meio deste WeaveConnection .

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

Veja também:
DisableReceive ()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Obtenha as informações do endereço IP do par.

Detalhes
Parâmetros
[out] addrInfo
Uma referência ao objeto IPPacketInfo.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_NOT_IMPLEMENTED
Se esta função for chamada para um ponto de extremidade 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 mesmo nível associado à conexão.

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

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Liberaçã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 resultar na contagem de referência chegando a zero, a conexão será fechada e o objeto de conexão será liberado. Quando isso acontece, o aplicativo não deve 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.

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

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

Detalhes
Valores Retornados
WEAVE_NO_ERROR
na reconfiguração bem-sucedida do tempo limite do usuário TCP na conexão.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta função for chamada para um ponto de extremidade 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 à redefinição do ponto de extremidade TCP do tempo limite do usuário TCP.

Enviar mensagem

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envie uma mensagem 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 PacketBuffer que contém o pacote a ser enviado.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
WEAVE_ERROR_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 for especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros da camada Inet relacionados às operações de envio de endpoint específicas.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Envie uma mensagem do Weave em túnel 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 PacketBuffer que contém o pacote a ser enviado.
Valores Retornados
WEAVE_NO_ERROR
em enviar com sucesso a mensagem para a camada de rede.
WEAVE_ERROR_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 for especificado.
WEAVE_ERROR_SENDING_BLOCKED
se a mensagem for muito longa para ser enviada.
other
Erros da camada Inet relacionados às operações de envio de endpoint específicas.

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

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

Defina a opção de soquete de 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 feche forçosamente a 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 obter mais detalhes.

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

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

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

Detalhes
Valores Retornados
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 chamada para um ponto de extremidade 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 ponto de extremidade TCP do tempo limite do usuário TCP.

Desligar

WEAVE_ERROR Shutdown(
  void
)

Executa um desligamento de envio de TCP elegante, garantindo que todos os dados de saída tenham sido enviados e recebidos pela pilha TCP do par.

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

Detalhes
Valores Retornados
WEAVE_NO_ERROR
no desligamento bem-sucedido da conexão tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
se esta função for chamada para um ponto de extremidade 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 desligamento.
other
Erros da camada Inet relacionados às operações específicas de desligamento do endpoint.
Veja também:
Fechar () e Abortar () .