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

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

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
[SÓ LEITURA] O associada WeaveMessageLayer objecto.
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
[SOMENTE LEITURA] 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
[SÓ LEITURA] O estado da WeaveConnection objecto.

Funções públicas

Abort (void)
void
Executa uma un-graciosa perto do TCP ou baseada em BLE WeaveConnection , descartando quaisquer dados que possam estar em voos de ou para o peer.
AddRef (void)
void
Reservar uma referência ao WeaveConnection objeto.
Close (void)
Executa um non-blocking graciosa perto da base-BLE TCP ou WeaveConnection , fornecendo todos os dados de saída restantes antes educadamente informar o host remoto que temos redefinir a conexão.
Close (bool suppressCloseLog)
Executa um non-blocking graciosa perto da base-BLE TCP ou WeaveConnection , fornecendo todos os dados de saída restantes antes educadamente informar o host remoto que temos redefinir 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
Receptora Disable sobre este WeaveConnection .
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
EnableReceive (void)
void
Ativar receber ao longo 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
Diminuir a contagem de referência na WeaveConnection objeto.
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 de string (incluindo 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 apontador para a WeaveConnection objecto.
[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 apontador para a WeaveConnection objecto.
[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 apontador para a WeaveConnection objecto.
[in] msgInfo
Um apontador para um WeaveMessageInfo estrutura contendo informação 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 apontador para a WeaveConnection objecto.
[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 apontador para a WeaveConnection objecto.
[in] msgInfo
Um apontador para a WeaveMessageInfo objecto.
[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

[SÓ LEITURA] O associada WeaveMessageLayer objecto.

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

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

PeerNodeId

uint64_t PeerNodeId

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

PeerPort

uint16_t PeerPort

[READ ONLY] 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

[SÓ LEITURA] O estado da WeaveConnection objecto.

Funções públicas

Abortar

void Abort(
  void
)

Executa uma un-graciosa perto do TCP ou baseada em BLE WeaveConnection , descartando quaisquer dados que possam estar em voos de ou para o peer.

Uma chamada para Abort () termina imediatamente a conexão subjacente. Após este ponto, o WeaveConnection objecto já não pode ser utilizado para outra comunicação.

Chamar Abortar () decrementa a contagem de referência associada com o WeaveConnection objecto, se ou não a ligação é aberta / activa 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:
Shutdown () , Abort () , AddRef () e Release () .

AddRef

void AddRef(
  void
)

Reservar uma referência ao WeaveConnection objeto.

Os AddRef () incrementos método da contagem de referência associada com o WeaveConnection objecto. Para cada chamada para AddRef () , o aplicativo é responsável por fazer uma chamada corresponde a qualquer um Release () , Close () ou Abort () .

Perto

WEAVE_ERROR Close(
  void
)

Executa um non-blocking graciosa perto da base-BLE TCP ou WeaveConnection , fornecendo todos os dados de saída restantes antes educadamente informar o host remoto que temos redefinir 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 Close () se uma camada de transporte de confirmação mensagem de recebimento é necessária antes de fechar a conexão. Conexões BLE fornecer nenhuma desligamento () equivalente.

Para ligações baseadas em BLE, Fechar () fecha o WeaveConnection e retorna imediatamente, mas pode fazer com que o objecto BLEEndPoint subjacente a ficar até que todos os dados de saída foi enviada. Este é um efeito colateral da implementação do protocolo de transporte Weave sobre BLE existente no Weave BleLayer.

Uma vez Close () foi chamado, o WeaveConnection objeto não pode mais ser usado para a comunicação.

Chamando Close () diminui a contagem de referência associado à WeaveConnection objeto, seja ou não a conexão é aberta / ativa no momento 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:
Shutdown () , Abort () , AddRef () e Release () .

Perto

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Executa um non-blocking graciosa perto da base-BLE TCP ou WeaveConnection , fornecendo todos os dados de saída restantes antes educadamente informar o host remoto que temos redefinir 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 Close () se uma camada de transporte de confirmação mensagem de recebimento é necessária antes de fechar a conexão. Conexões BLE fornecer nenhuma desligamento () equivalente.

Para ligações baseadas em BLE, Fechar () fecha o WeaveConnection e retorna imediatamente, mas pode fazer com que o objecto BLEEndPoint subjacente a ficar até que todos os dados de saída foi enviada. Este é um efeito colateral da implementação do protocolo de transporte Weave sobre BLE existente no Weave BleLayer.

Uma vez Close () foi chamado, o WeaveConnection objeto não pode mais ser usado para a comunicação.

Chamando Close () diminui a contagem de referência associado à WeaveConnection objeto, seja ou não a conexão é aberta / ativa no momento 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:
Shutdown () , Abort () , AddRef () e Release () .

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 WeaveConnection estado está 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 peer, IPAddress :: Qualquer caso não seja conhecido.
[in] peerPort
A porta opcional do peer, o 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 WeaveConnection estado está 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 peer, IPAddress :: Qualquer caso não seja conhecido.
[in] peerPort
A porta opcional do peer, o padrão para WEAVE_PORT .
[in] intf
A interface opcional para usar para se conectar ao nó de pares, 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 WeaveConnection estado está 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 for fornecido, peerAddr pode ser qualquer um de:


:

:

[]:

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 WeaveConnection estado está 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 for fornecido, peerAddr pode ser qualquer um de:


:

:

[]:

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 WeaveConnection estado está 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:


:

:

[]:

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 WeaveConnection estado está 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 para usar para se conectar ao nó de pares, 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 WeaveConnection estado está 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,
  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 para usar para se conectar ao nó de pares, 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 WeaveConnection estado está 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 apoiado 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 WeaveConnection objeto não está no estado correto para o envio de 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
)

Receptora Disable sobre este WeaveConnection .

Este método é usado pelo aplicativo para indicar que não está pronto para receber nenhum dado recebido pela conexão TCP. A fim de reactivar a receber, as necessidades da aplicação para chamar EnableReceive () para permitir WeaveConnection a mão sobre todos os dados recebidos por invocar as chamadas de retorno approrpiate.

Veja também:
EnableReceive ()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

Habilite probes keep-alive de TCP na conexão TCP subjacente.

Nota: -Este método só pode ser chamado em uma conexão Weave apoiado 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 WeaveConnection objeto não está no estado correto para o envio de mensagens.
other
Os erros da camada Inet relacionados ao ponto de extremidade TCP permitem a operação de manutenção de atividade.

EnableReceive

void EnableReceive(
  void
)

Ativar receber ao longo deste WeaveConnection .

Este método é utilizado pela aplicação para indicar ao WeaveConnection objeto que ele está pronto para receber os dados que chega através da 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
)

Diminuir a contagem de referência na WeaveConnection objeto.

O lançamento () método diminui a contagem de referência associada com o WeaveConnection objecto. 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 apoiado 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 tiver sido 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 WeaveConnection objeto não está no estado correto para o envio de 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 apontador para um WeaveMessageInfo objecto.
[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 WeaveConnection objeto não está 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 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 através de uma conexão estabelecida.

Detalhes
Parâmetros
[in] msgInfo
Um apontador para um WeaveMessageInfo objecto.
[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 WeaveConnection objeto não está 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 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 WeaveConnection objeto não está 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 apoiado 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 WeaveConnection objeto não está no estado correto para o envio de 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. A chamada subsequente para Close () iria encerrar 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 WeaveConnection objeto não está 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:
Close () e Abort () .