En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: WeaveConnection

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

La definición de la clase Weave Connection.

Resumen

Representa una conexión TCP o BLE a otro nodo Weave.

Tipos públicos

@58 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enumeración
ConnectionClosedFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca cuando se cierra una conexión.
ConnectionCompleteFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca cuando se completa la configuración de una conexión.
MessageReceiveFunct )(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca cuando se recibe un mensaje a través de una conexión Weave.
NetworkType {
kNetworkType_Unassigned = 0,
kNetworkType_IP = 1,
kNetworkType_BLE = 2
}
enumeración
El tipo de red del objeto de conexión Weave.
ReceiveErrorFunct )(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca al encontrar un error al recibir un mensaje de Weave.
State {
kState_ReadyToConnect = 0,
kState_Resolving = 1,
kState_Connecting = 2,
kState_EstablishingSession = 3,
kState_Connected = 4,
kState_SendShutdown = 5,
kState_Closed = 6
}
enumeración
El objeto de conexión Estado del tejido.
TunneledMsgReceiveFunct )(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca al recibir un paquete de datos Tunneled a través de la conexión Weave.

Atributos públicos

AppState
void *
Un puntero al objeto de estado específico de la aplicación.
AuthMode
WeaveAuthMode
[SÓLO LECTURA] El modo de autenticación utilizado para establecer las claves de cifrado predeterminadas para la conexión.
DefaultEncryptionType
uint8_t
El tipo de cifrado predeterminado para mensajes.
DefaultKeyId
uint16_t
La clave de cifrado predeterminada que se utilizará al enviar mensajes.
MessageLayer
[SOLO LEER] El objeto WeaveMessageLayer asociado.
NetworkType
uint8_t
[SÓLO LECTURA] El tipo de red del punto final asociado.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SÓLO LEER] La dirección IP del nodo del mismo nivel.
PeerNodeId
uint64_t
[SOLO LECTURA] El identificador de nodo del par.
PeerPort
uint16_t
[SÓLO LEER] El número de puerto del nodo del mismo nivel.
ReceiveEnabled
bool
[SÓLO LEER] Verdadero si la recepción está habilitada, falso en caso contrario.
SendDestNodeId
bool
Verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de destino codificado explícitamente, falso en caso contrario.
SendSourceNodeId
bool
Verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de origen codificado explícitamente, falso en caso contrario.
State
uint8_t
[SOLO LEER] El estado del objeto WeaveConnection .

Funciones publicas

Abort (void)
void
Realiza un cierre incorrecto de WeaveConnection basado en TCP o BLE, descartando cualquier dato que pueda estar en vuelo hacia o desde el par.
AddRef (void)
void
Reserve una referencia al objeto WeaveConnection .
Close (void)
Realiza un cierre elegante sin bloqueo de WeaveConnection basado en TCP o BLE, entregando cualquier dato saliente restante antes de informar cortésmente al host remoto que hemos restablecido la conexión.
Close (bool suppressCloseLog)
Realiza un cierre elegante sin bloqueo de WeaveConnection basado en TCP o BLE, entregando cualquier dato saliente restante antes de informar cortésmente al host remoto que hemos restablecido la conexión.
Connect (uint64_t peerNodeId)
Conéctese a un nodo Weave utilizando una dirección IP de estructura derivada del identificador de nodo especificado.
Connect (uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección IP.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección IP en una interfaz específica.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o un nombre de host de cadena.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección de cadena de pares.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección de cadena de pares.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una lista de nombres de host y puertos.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Conéctese a un nodo Weave utilizando un identificador de nodo y / o una lista de nombres de host y puertos.
DisableKeepAlive (void)
DisableReceive (void)
void
Desactive la recepción a través de esta WeaveConnection .
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
EnableReceive (void)
void
Habilite la recepción a través de esta WeaveConnection .
GetPeerAddressInfo (IPPacketInfo & addrInfo)
Obtenga la información de la dirección IP del par.
GetPeerDescription (char *buf, size_t bufSize) const
void
Construye una cadena que describe el nodo par asociado con la conexión.
GetTCPEndPoint (void) const
TCPEndPoint *
IsIncoming (void) const
bool
LogId (void) const
uint16_t
Release (void)
void
Disminuya el recuento de referencias en el objeto WeaveConnection .
ResetUserTimeout (void)
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envíe un mensaje Weave a través de una conexión establecida.
SendTunneledMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Función para enviar un paquete Tunneled a través de una conexión Weave.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
Establezca el tiempo de espera para que la conexión se realice correctamente o devuelva un error.
SetIdleTimeout (uint32_t timeoutMS)
Establezca el tiempo de espera inactivo en la conexión de capa de red subyacente.
SetIncoming (bool val)
void
SetUserTimeout (uint32_t userTimeoutMillis)
Shutdown (void)
Realiza un elegante cierre de envío de TCP, asegurando que todos los datos salientes hayan sido enviados y recibidos por la pila TCP del par.

Tipos públicos

@ 58

 @58
Propiedades
kGetPeerDescription_MaxLength

Longitud máxima de la cadena (incluido el carácter NUL) devuelta por GetPeerDescription () .

ConexiónCerradoFunción

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

Esta función es la devolución de llamada de la aplicación que se invoca cuando se cierra una conexión.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] conErr
El WEAVE_ERROR encontrado cuando se cerró la conexión.

ConnectionCompleteFunct

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

Esta función es la devolución de llamada de la aplicación que se invoca cuando se completa la configuración de una conexión.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] conErr
El WEAVE_ERROR encontrado durante la configuración de la conexión.

MessageReceiveFunct

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

Esta función es la devolución de llamada de la aplicación que se invoca cuando se recibe un mensaje a través de una conexión Weave.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] msgInfo
Un puntero a una estructura WeaveMessageInfo que contiene información sobre el mensaje.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje.

Tipo de red

 NetworkType

El tipo de red del objeto de conexión Weave.

Propiedades
kNetworkType_BLE

Tipo de red BLE.

kNetworkType_IP

Tipo de red TCP / IP.

kNetworkType_Unassigned

Tipo de red sin asignar.

ReceiveErrorFunct

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

Esta función es la devolución de llamada de la aplicación que se invoca al encontrar un error al recibir un mensaje de Weave.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] err
El WEAVE_ERROR encontrado al recibir datos a través de la conexión.

Estado

 State

El objeto de conexión Estado del tejido.

Propiedades
kState_Closed

Indica cuándo se cierra la conexión.

kState_Connected

Indique cuándo se ha establecido la conexión.

kState_Connecting

Estado cuando se está intentando la conexión.

kState_EstablishingSession

Indique cuándo se está estableciendo una sesión segura.

kState_ReadyToConnect

Estado después de la inicialización de la conexión Weave.

kState_Resolving

Indique cuándo se está realizando la resolución de nombres DNS.

kState_SendShutdown

Indica cuándo se cierra la conexión.

TunneledMsgReceiveFunct

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

Esta función es la devolución de llamada de la aplicación que se invoca al recibir un paquete de datos Tunneled a través de la conexión Weave.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection .
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete tunelizado recibido.

Atributos públicos

AppState

void * AppState

Un puntero al objeto de estado específico de la aplicación.

AuthMode

WeaveAuthMode AuthMode

[SÓLO LECTURA] El modo de autenticación utilizado para establecer las claves de cifrado predeterminadas para la conexión.

DefaultEncryptionType

uint8_t DefaultEncryptionType

El tipo de cifrado predeterminado para mensajes.

DefaultKeyId

uint16_t DefaultKeyId

La clave de cifrado predeterminada que se utilizará al enviar mensajes.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOLO LEER] El objeto WeaveMessageLayer asociado.

Tipo de red

uint8_t NetworkType

[SOLO LECTURA] El tipo de red del punto final asociado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[SÓLO LEER] La dirección IP del nodo del mismo nivel.

PeerNodeId

uint64_t PeerNodeId

[SOLO LEER] El identificador de nodo del par.

PeerPort

uint16_t PeerPort

[SÓLO LEER] El número de puerto del nodo del mismo nivel.

ReceiveEnabled

bool ReceiveEnabled

[SÓLO LEER] Verdadero si la recepción está habilitada, falso en caso contrario.

SendDestNodeId

bool SendDestNodeId

Verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de destino codificado explícitamente, falso en caso contrario.

SendSourceNodeId

bool SendSourceNodeId

Verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de origen codificado explícitamente, falso en caso contrario.

Estado

uint8_t State

[SOLO LEER] El estado del objeto WeaveConnection .

Funciones publicas

Abortar

void Abort(
  void
)

Realiza un cierre incorrecto de WeaveConnection basado en TCP o BLE, descartando cualquier dato que pueda estar en vuelo hacia o desde el par.

Una llamada a Abort () termina inmediatamente la conexión subyacente. Después de este punto, el objeto WeaveConnection ya no se puede utilizar para más comunicaciones.

Llamar a Abort () disminuye el recuento de referencias asociado con el objeto WeaveConnection , ya sea que la conexión esté abierta / activa o no en el momento en que se llama al método. Si esto da como resultado que el recuento de referencia llegue a cero, se liberan los recursos asociados con el objeto de conexión. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Ver también:
Shutdown () , Abort () , AddRef () y Release () .

AddRef

void AddRef(
  void
)

Reserve una referencia al objeto WeaveConnection .

El método AddRef () incrementa el recuento de referencias asociado con el objeto WeaveConnection . Para cada llamada a AddRef () , la aplicación es responsable de realizar la llamada correspondiente a Release () , Close () o Abort () .

Cerrar

WEAVE_ERROR Close(
  void
)

Realiza un cierre elegante sin bloqueo de WeaveConnection basado en TCP o BLE, entregando cualquier dato saliente restante antes de informar cortésmente al host remoto que hemos restablecido la conexión.

Este método no ofrece una garantía sólida de que el par remoto haya recibido cualquier mensaje saliente no reconocido en el nivel del protocolo de aplicación. Tanto para TCP como para BLE, la pila de protocolo subyacente hará todo lo posible para entregar los datos salientes pendientes antes de restablecer la conexión. Para TCP, Shutdown () debe usarse antes de Close () si se requiere una confirmación de recepción de mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan equivalente a Shutdown () .

Para las conexiones basadas en BLE, Close () cierra WeaveConnection y regresa inmediatamente, pero puede hacer que el objeto BLEEndPoint subyacente permanezca hasta que se hayan enviado todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte Weave over BLE existente dentro de Weave BleLayer.

Una vez que se ha llamado a Close () , el objeto WeaveConnection ya no se puede usar para más comunicaciones.

Llamar a Close () disminuye el recuento de referencias asociado con el objeto WeaveConnection , ya sea que la conexión esté abierta o activa en el momento en que se llama al método. Si esto da como resultado que el recuento de referencia llegue a cero, se liberan los recursos asociados con el objeto de conexión. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Detalles
Devoluciones
WEAVE_NO_ERROR incondicionalmente.
Ver también:
Shutdown () , Abort () , AddRef () y Release () .

Cerrar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Realiza un cierre elegante sin bloqueo de WeaveConnection basado en TCP o BLE, entregando cualquier dato saliente restante antes de informar cortésmente al host remoto que hemos restablecido la conexión.

Este método no ofrece una garantía sólida de que el par remoto haya recibido cualquier mensaje saliente no reconocido en el nivel del protocolo de aplicación. Tanto para TCP como para BLE, la pila de protocolo subyacente hará todo lo posible para entregar los datos salientes pendientes antes de restablecer la conexión. Para TCP, Shutdown () debe usarse antes de Close () si se requiere una confirmación de recepción de mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan equivalente a Shutdown () .

Para las conexiones basadas en BLE, Close () cierra WeaveConnection y regresa inmediatamente, pero puede hacer que el objeto BLEEndPoint subyacente permanezca hasta que se hayan enviado todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte Weave over BLE existente dentro de Weave BleLayer.

Una vez que se ha llamado a Close () , el objeto WeaveConnection ya no se puede usar para más comunicaciones.

Llamar a Close () disminuye el recuento de referencias asociado con el objeto WeaveConnection , ya sea que la conexión esté abierta o activa en el momento en que se llama al método. Si esto da como resultado que el recuento de referencia llegue a cero, se liberan los recursos asociados con el objeto de conexión. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Detalles
Parámetros
[in] suppressCloseLog
Es true si es necesario suprimir los registros; en caso contrario, es false.
Devoluciones
WEAVE_NO_ERROR incondicionalmente.
Ver también:
Shutdown () , Abort () , AddRef () y Release () .

Conectar

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Conéctese a un nodo Weave utilizando una dirección IP de estructura derivada del identificador de nodo especificado.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par.
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección IP.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par, kNodeIdNotSpecified o 0 si no se conoce.
[in] peerAddr
La dirección IP del par, IPAddress :: Cualquiera si no se conoce.
[in] peerPort
El puerto opcional del par, predeterminado en WEAVE_PORT .
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección IP en una interfaz específica.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par, kNodeIdNotSpecified o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el par. Solo se admiten los modos CASE, PASE y Nouthenticated.
[in] peerAddr
La dirección IP del par, IPAddress :: Cualquiera si no se conoce.
[in] peerPort
El puerto opcional del par, predeterminado en WEAVE_PORT .
[in] intf
La interfaz opcional que se utiliza para conectarse al nodo del mismo nivel, por defecto INET_NULL_INTERFACEID .
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del identificador de nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o un nombre de host de cadena.

Si se proporciona, peerAddr puede ser cualquiera de los siguientes:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par, kNodeIdNotSpecified o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el par. Solo se admiten los modos CASE, PASE y Nouthenticated.
[in] peerAddr
La dirección o el nombre de host del par como una cadena C terminada en NULL.
[in] defaultPort
El puerto predeterminado opcional que se utilizará para la conexión si no se proporciona en la cadena peerAddr.
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección de cadena de pares.

Si se proporciona, peerAddr puede ser cualquiera de los siguientes:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par, kNodeIdNotSpecified o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el par. Solo se admiten los modos CASO, PASE y no autenticado.
[in] peerAddr
La dirección o el nombre de host del par como una cadena C no terminada en NULL.
[in] peerAddrLen
La longitud de la cadena peerAddr.
[in] defaultPort
El puerto predeterminado opcional que se utilizará para la conexión si no se proporciona en la cadena peerAddr.
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una dirección de cadena de pares.

Si se proporciona, peerAddr puede ser cualquiera de:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par, kNodeIdNotSpecified o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el par. Solo se admiten los modos CASO, PASE y no autenticado.
[in] peerAddr
La dirección o el nombre de host del par como una cadena C no terminada en NULL.
[in] peerAddrLen
La longitud de la cadena peerAddr.
[in] dnsOptions
Un valor entero que controla cómo se realiza la resolución de nombres de host. El valor debe ser el OR de uno o más valores de la enumeración # :: nl :: Inet :: DNSOptions.
[in] defaultPort
El puerto predeterminado opcional que se utilizará para la conexión si no se proporciona en la cadena peerAddr.
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una lista de nombres de host y puertos.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par.
[in] authMode
El modo de autenticación utilizado para la conexión.
[in] hostPortList
La lista de nombres de host y puertos.
[in] intf
La interfaz opcional que se utiliza para conectarse al nodo del mismo nivel, por defecto INET_NULL_INTERFACEID .
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

Conectar

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

Conéctese a un nodo Weave utilizando un identificador de nodo y / o una lista de nombres de host y puertos.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par.
[in] authMode
El modo de autenticación utilizado para la conexión.
[in] hostPortList
La lista de nombres de host y puertos.
[in] dnsOptions
Un valor entero que controla cómo se realiza la resolución de nombres de host. El valor debe ser el OR de uno o más valores de la enumeración # :: nl :: Inet :: DNSOptions.
[in] intf
La interfaz opcional que se utiliza para conectarse al nodo del mismo nivel, por defecto INET_NULL_INTERFACEID .
Valores devueltos
WEAVE_NO_ERROR
en el inicio exitoso de la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado de WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si el modo de autenticación solicitado no es compatible.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir de la identificación del nodo.
other
Errores de capa Inet generados por las operaciones de conexión de TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection :: DisableKeepAlive .

Deshabilite las sondas de mantenimiento de TCP en la conexión TCP subyacente.

Nota: Este método solo se puede llamar en una conexión Weave respaldada por una conexión TCP. Este método solo se puede llamar cuando la conexión está en un estado que permite el envío.

Este método no hace nada si no se han habilitado los keepalives en la conexión.

Detalles
Valores devueltos
WEAVE_NO_ERROR
en la desactivación exitosa de las sondas de mantenimiento de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
other
Los errores de la capa Inet relacionados con el punto final TCP habilitan la operación de mantenimiento.

DisableReceive

void DisableReceive(
  void
)

Desactive la recepción a través de esta WeaveConnection .

La aplicación utiliza este método para indicar que no está lista para recibir datos recibidos a través de la conexión TCP. Para volver a habilitar la recepción, la aplicación debe llamar a EnableReceive () para permitir que WeaveConnection entregue los datos recibidos invocando las devoluciones de llamada apropiadas.

Ver también:
EnableReceive ()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

Habilite las sondas de mantenimiento de TCP en la conexión TCP subyacente.

Nota: -Este método solo se puede llamar en una conexión Weave respaldada por una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

Detalles
Parámetros
[in] interval
El intervalo (en segundos) entre las sondas keepalive. Este valor también controla el tiempo entre el último paquete de datos enviado y la transmisión de la primera sonda keepalive.
[in] timeoutCount
Se considerará que el número máximo de sondas no reconocidas antes de la conexión ha fallado.

-Este método se puede llamar varias veces para ajustar el intervalo de actividad o el tiempo de espera.

Detalles
Valores devueltos
WEAVE_NO_ERROR
en la habilitación exitosa de las sondas de mantenimiento de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
other
Los errores de la capa Inet relacionados con el punto final TCP habilitan la operación de mantenimiento.

EnableReceive

void EnableReceive(
  void
)

Habilite la recepción a través de esta WeaveConnection .

La aplicación utiliza este método para indicar al objeto WeaveConnection que está listo para recibir cualquier dato que llegue a través de la conexión TCP.

Ver también:
DisableReceive ()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Obtenga la información de la dirección IP del par.

Detalles
Parámetros
[out] addrInfo
Una referencia al objeto IPPacketInfo.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Construye una cadena que describe el nodo par asociado con la conexión.

Detalles
Parámetros
[in] buf
Un puntero a un búfer en el que se debe escribir la cadena. El búfer proporcionado debe ser al menos tan grande como kGetPeerDescription_MaxLength. Si se proporciona un búfer más pequeño, la cadena se truncará para que quepa. La salida incluirá un carácter de terminación NUL en todos los casos.
[in] bufSize
El tamaño del búfer al que apunta buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Lanzamiento

void Release(
  void
)

Disminuya el recuento de referencias en el objeto WeaveConnection .

El método Release () reduce el recuento de referencias asociado con el objeto WeaveConnection . Si esto da como resultado que el recuento de referencia llegue a cero, la conexión se cierra y el objeto de conexión se libera. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection :: ResetUserTimeout .

Restablezca la opción de socket de tiempo de espera de usuario TCP al valor predeterminado del sistema.

Nota: -Este método solo se puede llamar en una conexión Weave respaldada por una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

-Este método no hace nada si el tiempo de espera del usuario no se ha establecido en la conexión.

Detalles
Valores devueltos
WEAVE_NO_ERROR
en el restablecimiento exitoso del tiempo de espera del usuario TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
other
Errores de la capa Inet relacionados con el restablecimiento del punto final TCP del tiempo de espera del usuario TCP.

Enviar mensaje

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envíe un mensaje Weave a través de una conexión establecida.

Detalles
Parámetros
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo .
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete a enviar.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si el identificador del nodo de destino no está especificado.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarse.
other
Errores de capa de Inet relacionados con las operaciones de envío de endpoint específicas.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Función para enviar un paquete Tunneled a través de una conexión Weave.

Envíe un mensaje Weave tunelizado a través de una conexión establecida.

Detalles
Parámetros
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo .
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete a enviar.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si el identificador del nodo de destino no está especificado.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarse.
other
Errores de capa de Inet relacionados con las operaciones de envío de endpoint específicas.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Establezca el tiempo de espera para que la conexión se realice correctamente o devuelva un error.

Detalles
Parámetros
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Establezca el tiempo de espera inactivo en la conexión de capa de red subyacente.

Detalles
Parámetros
[in] timeoutMS
el tiempo de espera en milisegundos.
Valores devueltos
WEAVE_NO_ERROR
en la configuración exitosa del tiempo de espera inactivo para la conexión.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para recibir mensajes.

Entrante

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection :: SetUserTimeout .

Establezca la opción de socket de tiempo de espera de usuario TCP.

Cuando el valor es mayor que 0, especifica la cantidad máxima de tiempo en milisegundos que los datos transmitidos pueden permanecer sin acuse de recibo antes de que TCP cierre por la fuerza la conexión correspondiente. Si el valor de la opción se especifica como 0, TCP utilizará el valor predeterminado del sistema. Consulte RFC 5482 para obtener más detalles.

Detalles
Parámetros
[in] userTimeoutMillis
Valor del tiempo de espera del usuario de Tcp en milisegundos.

Nota: -Este método solo se puede llamar en una conexión Weave respaldada por una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

-Este método se puede llamar varias veces para ajustar el tiempo de espera del usuario de TCP.

Detalles
Valores devueltos
WEAVE_NO_ERROR
en la configuración correcta del tiempo de espera del usuario TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto para enviar mensajes.
other
Errores de capa Inet relacionados con la configuración del punto final TCP del tiempo de espera del usuario TCP.

Apagar

WEAVE_ERROR Shutdown(
  void
)

Realiza un elegante cierre de envío de TCP, asegurando que todos los datos salientes hayan sido enviados y recibidos por la pila TCP del par.

Con la mayoría (pero no todas) las implementaciones de TCP, la recepción de un envío-apagado hará que el host remoto también apague su lado de la conexión, lo que resultará en un cierre de la conexión. Una llamada posterior a Close () terminaría WeaveConnection .

Detalles
Valores devueltos
WEAVE_NO_ERROR
en el cierre exitoso de la conexión tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un punto final incompatible (por ejemplo, BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no está en el estado correcto antes de iniciar un apagado.
other
Errores de la capa de Inet relacionados con las operaciones específicas de cierre del endpoint.
Ver también:
Cerrar () y Abortar () .