nl::Weave::WeaveConnection

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

Es la definición de la clase Weave Connection.

Resumen

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

Tipos públicos

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
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 de Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
El tipo de red del objeto de conexión de 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 si se produce 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
}
enum
El estado del objeto de conexión de Weave.
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 cuando se recibe un paquete de datos de túnel en la conexión de Weave.

Atributos públicos

AppState
void *
Un puntero al objeto de estado específico de la aplicación.
AuthMode
WeaveAuthMode
[SOLO LECTURA] El modo de autenticación que se usa para establecer las claves de encriptación predeterminadas de la conexión.
DefaultEncryptionType
uint8_t
El tipo de encriptación predeterminado para los mensajes.
DefaultKeyId
uint16_t
La clave de encriptación predeterminada que se debe usar cuando se envían mensajes.
MessageLayer
[SOLO LECTURA] El objeto WeaveMessageLayer asociado.
NetworkType
uint8_t
[READ ONLY] El tipo de red del extremo asociado.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SOLO LECTURA] La dirección IP del nodo de intercambio de tráfico.
PeerNodeId
uint64_t
[READ ONLY] El identificador de nodo del par.
PeerPort
uint16_t
[READ ONLY] Es el número de puerto del nodo de intercambio de tráfico.
ReceiveEnabled
bool
[READ ONLY] Es verdadero si la recepción está habilitada. De lo contrario, es falso.
SendDestNodeId
bool
Es verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de destino codificado de forma explícita. De lo contrario, es falso.
SendSourceNodeId
bool
Es verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de origen codificado de forma explícita. De lo contrario, es falso.
State
uint8_t
[READ ONLY] El estado del objeto WeaveConnection.

Funciones públicas

Abort(void)
void
Realiza un cierre desagradable de WeaveConnection basado en TCP o BLE, y descarta cualquier dato que pueda estar en tránsito hacia o desde el intercambio de tráfico.
AddRef(void)
void
Reserva una referencia al objeto WeaveConnection.
Close(void)
Realiza un cierre ordenado sin bloqueo de WeaveConnection basado en TCP o BLE y proporciona los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.
Close(bool suppressCloseLog)
Realiza un cierre ordenado sin bloqueo de WeaveConnection basado en TCP o BLE y proporciona los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.
Connect(uint64_t peerNodeId)
Conéctate a un nodo de Weave con una dirección IP de tejido derivada del identificador de nodo especificado.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Conéctate a un nodo de Weave con un identificador de nodo o una dirección IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Conéctate a un nodo de Weave con un identificador de nodo o una dirección IP en una interfaz específica.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Conéctate a un nodo de Weave con un identificador de nodo o un nombre de host de cadena.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Conéctate a un nodo de Weave con un identificador de nodo o una dirección de par de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Conéctate a un nodo de Weave con un identificador de nodo o una dirección de par de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conéctate a un nodo de Weave mediante un identificador de nodo o una lista de nombres de host y puertos.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Conéctate a un nodo de Weave mediante un identificador de nodo o una lista de nombres de host y puertos.
DisableKeepAlive(void)
DisableReceive(void)
void
Inhabilitar la recepción a través de esta WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Habilitar la recepción a través de esta WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Obtén la información de la dirección IP del intercambio de tráfico.
GetPeerDescription(char *buf, size_t bufSize) const
void
Construye una cadena que describe el nodo de intercambio de tráfico asociado con la conexión.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Disminuye el recuento de referencias en el objeto WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envía un mensaje de Weave a través de una conexión establecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Es la función para enviar un paquete de túnel a través de una conexión de Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Establece el tiempo de espera para que Connect se ejecute correctamente o muestre un error.
SetIdleTimeout(uint32_t timeoutMS)
Establece el tiempo de espera de inactividad en la conexión de la capa de red subyacente.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Realiza un cierre correcto de envío de TCP, lo que garantiza que la pila de TCP del intercambio de tráfico haya enviado y recibido todos los datos salientes.

Tipos públicos

@58

 @58
Propiedades
kGetPeerDescription_MaxLength

Longitud máxima de la string (incluido el carácter NUL) que muestra GetPeerDescription().

ConnectionClosedFunct

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
Se encontró WEAVE_ERROR 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
Se encontró WEAVE_ERROR 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 de Weave.

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

NetworkType

 NetworkType

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

Propiedades
kNetworkType_BLE

Tipo de red BLE

kNetworkType_IP

como el 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 si se produce un error al recibir un mensaje de Weave.

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

Estado

 State

El estado del objeto de conexión de Weave.

Propiedades
kState_Closed

Indica el estado cuando se cierra la conexión.

kState_Connected

Indica el estado en el que se estableció la conexión.

kState_Connecting

Estado cuando se intenta la conexión.

kState_EstablishingSession

Indica cuándo se establece una sesión segura.

kState_ReadyToConnect

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

kState_Resolving

Es el estado cuando se realiza la resolución de nombres de DNS.

kState_SendShutdown

Estado cuando 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 cuando se recibe un paquete de datos de túnel en la conexión de Weave.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo.
[in] msgBuf
Un puntero al objeto PackageBuffer 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

[SOLO LECTURA] El modo de autenticación que se usa para establecer las claves de encriptación predeterminadas de la conexión.

DefaultEncryptionType

uint8_t DefaultEncryptionType

El tipo de encriptación predeterminado para los mensajes.

DefaultKeyId

uint16_t DefaultKeyId

La clave de encriptación predeterminada que se debe usar cuando se envían mensajes.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOLO LECTURA] El objeto WeaveMessageLayer asociado.

NetworkType

uint8_t NetworkType

[READ ONLY] El tipo de red del extremo asociado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[SOLO LECTURA] La dirección IP del nodo de intercambio de tráfico.

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] El identificador de nodo del par.

PeerPort

uint16_t PeerPort

[READ ONLY] Es el número de puerto del nodo de intercambio de tráfico.

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] Es verdadero si la recepción está habilitada. De lo contrario, es falso.

SendDestNodeId

bool SendDestNodeId

Es verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de destino codificado de forma explícita. De lo contrario, es falso.

SendSourceNodeId

bool SendSourceNodeId

Es verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo de origen codificado de forma explícita. De lo contrario, es falso.

Estado

uint8_t State

[READ ONLY] El estado del objeto WeaveConnection.

Funciones públicas

Anular

void Abort(
  void
)

Realiza un cierre desagradable de WeaveConnection basado en TCP o BLE, y descarta cualquier dato que pueda estar en tránsito hacia o desde el intercambio de tráfico.

Una llamada a Abort() finaliza de inmediato la conexión subyacente. Después de este punto, el objeto WeaveConnection ya no se podrá usar para comunicaciones adicionales.

Llamar a Abort() disminuye el recuento de referencias asociados con el objeto WeaveConnection, sin importar si la conexión está abierta o activa en el momento en que se llama al método. Si esto hace que el recuento de referencias alcance cero, los recursos asociados con el objeto de conexión se liberan. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Consulta también lo siguiente:
Shutdown(), Abort(), AddRef() y Release().

AddRef

void AddRef(
  void
)

Reserva una referencia al objeto WeaveConnection.

El método AddRef() aumenta el recuento de referencias asociados 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 ordenado sin bloqueo de WeaveConnection basado en TCP o BLE y proporciona los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.

Este método no ofrece una garantía sólida de que el par remoto haya recibido cualquier mensaje saliente que no se haya confirmado en el nivel de protocolo de la aplicación. En el caso de TCP y BLE, la pila de protocolos subyacente hará su mejor esfuerzo por entregar los datos salientes pendientes antes de restablecer la conexión. Para TCP, se debe usar Shutdown() antes de Close() si se requiere una confirmación de recepción del mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan un equivalente en Shutdown().

Para conexiones basadas en BLE, Close() cierra WeaveConnection y muestra un resultado de inmediato, pero puede hacer que el objeto BLEEndPoint subyacente permanezca presente hasta que se envíen todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte Weave over BLE que existe en Weave BleLayer.

Una vez que se ha llamado a Close(), el objeto WeaveConnection ya no se puede usar para ninguna otra comunicación.

Llamar a Close() disminuye el recuento de referencias asociados con el objeto WeaveConnection, sin importar si la conexión está abierta o activa en el momento en que se llama al método. Si esto hace que el recuento de referencias alcance cero, los recursos asociados con el objeto de conexión se liberan. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Detalles
Resultado que se muestra
WEAVE_NO_ERROR en todos los casos.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Cerrar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Realiza un cierre ordenado sin bloqueo de WeaveConnection basado en TCP o BLE y proporciona los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.

Este método no ofrece una garantía sólida de que el par remoto haya recibido cualquier mensaje saliente que no se haya confirmado en el nivel de protocolo de la aplicación. En el caso de TCP y BLE, la pila de protocolos subyacente hará su mejor esfuerzo por entregar los datos salientes pendientes antes de restablecer la conexión. Para TCP, se debe usar Shutdown() antes de Close() si se requiere una confirmación de recepción del mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan un equivalente en Shutdown().

Para conexiones basadas en BLE, Close() cierra WeaveConnection y muestra un resultado de inmediato, pero puede hacer que el objeto BLEEndPoint subyacente permanezca presente hasta que se envíen todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte Weave over BLE que existe en Weave BleLayer.

Una vez que se ha llamado a Close(), el objeto WeaveConnection ya no se puede usar para ninguna otra comunicación.

Llamar a Close() disminuye el recuento de referencias asociados con el objeto WeaveConnection, sin importar si la conexión está abierta o activa en el momento en que se llama al método. Si esto hace que el recuento de referencias alcance cero, los recursos asociados con el objeto de conexión se liberan. Cuando esto sucede, la aplicación no debe tener más interacciones con el objeto.

Detalles
Parámetros
[in] suppressCloseLog
true si se deben suprimir los registros; de lo contrario, false.
Resultado que se muestra
WEAVE_NO_ERROR en todos los casos.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Conectar

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Conéctate a un nodo de Weave con una dirección IP de tejido derivada del identificador de nodo especificado.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave con un identificador de nodo o una dirección IP.

Detalles
Parámetros
[in] peerNodeId
El identificador del nodo del par, kNodeIdNotSpecify o 0 si no se conoce.
[in] peerAddr
La dirección IP del par, IPAddress::Any si no se conoce.
[in] peerPort
Es el puerto opcional del par, el predeterminado es WEAVE_PORT.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave con un identificador de nodo o una dirección IP en una interfaz específica.

Detalles
Parámetros
[in] peerNodeId
El identificador del nodo del par, kNodeIdNotSpecify o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el intercambio de tráfico. Solo se admiten los modos CASE, PASE y Unauthenticated.
[in] peerAddr
La dirección IP del par, IPAddress::Any si no se conoce.
[in] peerPort
Es el puerto opcional del par, el predeterminado es WEAVE_PORT.
[in] intf
La interfaz opcional que se debe usar para conectarse al nodo de intercambio de tráfico. La configuración predeterminada es INET_NULL_INTERFACEID.
Valores de retorno
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 la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave con un identificador de nodo o un nombre de host de cadena.

Si se proporciona, el campopeerAddr puede ser cualquiera de los siguientes:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador del nodo del par, kNodeIdNotSpecify o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el intercambio de tráfico. Solo se admiten los modos CASE, PASE y Unauthenticated.
[in] peerAddr
La dirección o el nombre de host del intercambio de tráfico como una string C terminada en NULL.
[in] defaultPort
Es el puerto predeterminado opcional que se debe usar para la conexión si no se proporciona en la cadenapeerAddr.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave con un identificador de nodo o una dirección de par de string.

Si se proporciona, el campopeerAddr puede ser cualquiera de los siguientes:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador del nodo del par, kNodeIdNotSpecify o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el intercambio de tráfico. Solo se admiten los modos CASE, PASE y Unauthenticated.
[in] peerAddr
La dirección o el nombre de host del intercambio de tráfico como una string C no terminada con NULL.
[in] peerAddrLen
Es la longitud de la stringpeerAddr.
[in] defaultPort
Es el puerto predeterminado opcional que se debe usar para la conexión si no se proporciona en la cadenapeerAddr.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave con un identificador de nodo o una dirección de par de string.

Si se proporciona, el campopeerAddr puede ser cualquiera de los siguientes:


:

:

[]:

Detalles
Parámetros
[in] peerNodeId
El identificador del nodo del par, kNodeIdNotSpecify o 0 si no se conoce.
[in] authMode
El modo de autenticación deseado para el intercambio de tráfico. Solo se admiten los modos CASE, PASE y Unauthenticated.
[in] peerAddr
La dirección o el nombre de host del intercambio de tráfico como una string C no terminada con NULL.
[in] peerAddrLen
Es la longitud de la stringpeerAddr.
[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
Es el puerto predeterminado opcional que se debe usar para la conexión si no se proporciona en la cadenapeerAddr.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave mediante un identificador de nodo o una lista de nombres de host y puertos.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico.
[in] authMode
El modo de autenticación que se usa para la conexión.
[in] hostPortList
La lista de nombres de host y puertos.
[in] intf
La interfaz opcional que se debe usar para conectarse al nodo de intercambio de tráfico. La configuración predeterminada es INET_NULL_INTERFACEID.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

Conectar

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

Conéctate a un nodo de Weave mediante un identificador de nodo o una lista de nombres de host y puertos.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico.
[in] authMode
El modo de autenticación que se usa 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 debe usar para conectarse al nodo de intercambio de tráfico. La configuración predeterminada es INET_NULL_INTERFACEID.
Valores de retorno
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 a partir del ID del nodo.
other
Errores de la capa de Inet generados por las operaciones de conexión TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Inhabilita los sondeos keepalive de TCP en la conexión TCP subyacente.

Nota: Solo se puede llamar a este método en una conexión de Weave respaldada por una conexión TCP. Solo se puede llamar a este método cuando la conexión se encuentra en un estado que permite el envío.

Este método no realiza ninguna acción si no se habilitaron los keepalives en la conexión.

Detalles
Valores de retorno
WEAVE_NO_ERROR
en la inhabilitación correcta de los sondeos keepalive de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un extremo incompatible (p.ej., 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 de Inet relacionados con el extremo TCP habilitan la operación keepalive.

DisableReceive

void DisableReceive(
  void
)

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

La aplicación usa este método para indicar que no está listo para recibir datos que llegaron 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 transfiera los datos recibidos invocando las devoluciones de llamada correspondientes.

También:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Habilita los sondeos keepalive de TCP en la conexión TCP subyacente.

Nota: Este método solo se puede llamar con una conexión de Weave respaldada por una conexión TCP. - Solo se puede llamar a este método cuando la conexión se encuentra en un estado que permite el envío.

Detalles
Parámetros
[in] interval
El intervalo (en segundos) entre los sondeos de keepalive. Este valor también controla el tiempo entre el último paquete de datos enviado y la transmisión del primer sondeo de keepalive.
[in] timeoutCount
La cantidad máxima de sondeos no confirmados antes de que se considere que la conexión falló.

- Se puede llamar a este método varias veces para ajustar el intervalo de keepalive o el recuento del tiempo de espera.

Detalles
Valores de retorno
WEAVE_NO_ERROR
en la habilitación correcta de sondeos keepalive de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un extremo incompatible (p.ej., 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 de Inet relacionados con el extremo TCP habilitan la operación keepalive.

EnableReceive

void EnableReceive(
  void
)

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

La aplicación usa 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.

También:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Obtén la información de la dirección IP del intercambio de tráfico.

Detalles
Parámetros
[out] addrInfo
Una referencia al objeto IPPacketInfo.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_NOT_IMPLEMENTED
Si esta función se invoca para un extremo incompatible (p.ej., BLE) en la capa de red.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Construye una cadena que describe el nodo de intercambio de tráfico asociado con la conexión.

Detalles
Parámetros
[in] buf
Un puntero para 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 string se truncará para que quepa. El resultado incluirá un carácter de finalización NUL en todos los casos.
[in] bufSize
El tamaño del búfer al que apunta el buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Lanzamiento

void Release(
  void
)

Disminuye el recuento de referencias en el objeto WeaveConnection.

El método Release() disminuye el recuento de referencias asociados con el objeto WeaveConnection. Si esto hace que el recuento de referencias alcance 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.

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

Nota: Este método solo se puede llamar con una conexión de Weave respaldada por una conexión TCP. - Solo se puede llamar a este método cuando la conexión se encuentra en un estado que permite el envío.

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

Detalles
Valores de retorno
WEAVE_NO_ERROR
en el restablecimiento exitoso del tiempo de espera de usuario TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un extremo incompatible (p.ej., 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 de Inet relacionados con el restablecimiento del extremo TCP del tiempo de espera del usuario de TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Detalles
Parámetros
[in] msgInfo
Un puntero para un objeto WeaveMessageInfo.
[in] msgBuf
Un puntero al objeto PackageBuffer que contiene el paquete que se enviará.
Valores de retorno
WEAVE_NO_ERROR
para enviar correctamente 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 enviarlo.
other
Errores de la capa de Inet relacionados con las operaciones específicas de envío del extremo.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Es la función para enviar un paquete de túnel a través de una conexión de Weave.

Envía un mensaje de Weave en túnel a través de una conexión establecida.

Detalles
Parámetros
[in] msgInfo
Un puntero para un objeto WeaveMessageInfo.
[in] msgBuf
Un puntero al objeto PackageBuffer que contiene el paquete que se enviará.
Valores de retorno
WEAVE_NO_ERROR
para enviar correctamente 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 enviarlo.
other
Errores de la capa de Inet relacionados con las operaciones específicas de envío del extremo.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Establece el tiempo de espera para que Connect se ejecute correctamente o muestre un error.

.

Detalles
Parámetros
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Establece el tiempo de espera de inactividad en la conexión de la capa de red subyacente.

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

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

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

Cuando el valor es superior a 0, especifica la cantidad máxima de tiempo (expresada en milisegundos) durante la que los datos transmitidos pueden permanecer sin reconocer antes de que el TCP cierre por la fuerza la conexión correspondiente. Si el valor de la opción se especifica como 0, TCP usará el valor predeterminado del sistema. Consulta la RFC 5482 para obtener más detalles.

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

Nota: Este método solo se puede llamar con una conexión de Weave respaldada por una conexión TCP. - Solo se puede llamar a este método cuando la conexión se encuentra en un estado que permite el envío.

-Se puede llamar a este método varias veces para ajustar el tiempo de espera del usuario de TCP.

Detalles
Valores de retorno
WEAVE_NO_ERROR
en la configuración correcta del tiempo de espera del usuario de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un extremo incompatible (p.ej., 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 de Inet relacionados con la configuración del extremo TCP del tiempo de espera del usuario de TCP.

Cierre

WEAVE_ERROR Shutdown(
  void
)

Realiza un cierre correcto de envío de TCP, lo que garantiza que la pila de TCP del intercambio de tráfico haya enviado y recibido todos los datos salientes.

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

Detalles
Valores de retorno
WEAVE_NO_ERROR
si se cierra correctamente la conexión TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
si esta función se invoca para un extremo incompatible (p.ej., BLE) en la capa de red.
WEAVE_ERROR_INCORRECT_STATE
Si el objeto WeaveConnection no está en el estado correcto antes de iniciar un cierre.
other
Errores de la capa de Inet relacionados con las operaciones específicas de cierre del extremo.
Consulta también:
Close() y Abort().