En Google, luchamos por la equidad racial de la comunidad negra. Más información
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

nl::Weave::WeaveConnection

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

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 una configuración de 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 cuando se encuentra 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 objeto de conexión del estado 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 a través de 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 a fin de establecer las claves de encriptación predeterminadas para 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 usará para enviar mensajes.
MessageLayer
[Solo lectura] El objeto WeaveMessageLayer asociado.
NetworkType
uint8_t
[READ ONLY] El tipo de red del punto de destino asociado.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] 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] El número de puerto del nodo de intercambio de tráfico.
ReceiveEnabled
bool
[READ ONLY] Verdadero si la recepción está habilitada; de lo contrario, es falso.
SendDestNodeId
bool
El valor 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
El valor es verdadero si todos los mensajes enviados a través de esta conexión deben incluir un identificador de nodo fuente 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 correcta de la WeaveConnection basada en TCP o BLE, descartando cualquier dato que esté en tránsito hacia o desde el par.
AddRef(void)
void
Reserva una referencia al objeto WeaveConnection.
Close(void)
Realiza un cierre ordenado y sin bloqueo de WeaveConnection basado en TCP o BLE, mostrando todos los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.
Close(bool suppressCloseLog)
Realiza un cierre ordenado y sin bloqueo de WeaveConnection basado en TCP o BLE, mostrando todos los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.
Connect(uint64_t peerNodeId)
Conectarse a un nodo de Weave mediante 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 mediante 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 mediante 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 mediante un identificador de nodo o un nombre de host de string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Conéctate a un nodo de Weave mediante 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 mediante 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
Habilita la recepción a través de esta WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Obtén la información de la dirección IP del par.
GetPeerDescription(char *buf, size_t bufSize) const
void
Construye una string que describe el nodo de par asociado con la conexión.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Disminuir el recuento de referencia en el objeto WeaveConnection
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Enviar un mensaje de Weave a través de una conexión establecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
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 complete 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 de envío de TCP ordenado, lo que asegura que la pila de TCP de 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().

Conexión definida

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ó un WEAVE_ERROR cuando se cerró la conexión.

ConexiónCompletarFunción

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 una configuración de conexión.

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

Función Recibir Mensaje

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
Un puntero para una estructura WeaveMessageInfo que contiene información sobre el mensaje.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje.

NetworkType

 NetworkType

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

Propiedades
kNetworkType_BLE

Es el tipo de red BLE.

kNetworkType_IP

Tipo de red TCP/IP.

kNetworkType_Unassigned

Tipo de red sin asignar.

Recibe ErrorFunct

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

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

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

State

 State

El objeto de conexión del estado 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

Indica el estado cuando se intenta establecer 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

Indica el estado en el que se realiza la resolución del nombre del DNS.

kState_SendShutdown

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

TúnelMsgReceiveFunct

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 a través de 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 PacketBuffer que contiene el paquete en túnel que se recibió.

Atributos públicos

Estado de la aplicación

void * AppState

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

Modo de autenticación

WeaveAuthMode AuthMode

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

TipoDeEncriptaciónDePredeterminada

uint8_t DefaultEncryptionType

El tipo de encriptación predeterminado para los mensajes.

ID de clave predeterminada

uint16_t DefaultKeyId

La clave de encriptación predeterminada que se usará para enviar mensajes.

Capa de mensajes

WeaveMessageLayer * MessageLayer

[Solo lectura] El objeto WeaveMessageLayer asociado.

NetworkType

uint8_t NetworkType

[READ ONLY] El tipo de red del punto de destino asociado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete;

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] La dirección IP del nodo de intercambio de tráfico.

ID del par de intercambio de tráfico

uint64_t PeerNodeId

[READ ONLY] El identificador de nodo del par.

Puerto del par

uint16_t PeerPort

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

Recibe habilitado

bool ReceiveEnabled

[READ ONLY] Verdadero si la recepción está habilitada; de lo contrario, es falso.

ID de envíoDesDest

bool SendDestNodeId

El valor 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.

ID de SendSourceNode

bool SendSourceNodeId

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

State

uint8_t State

[READ ONLY] El estado del objeto WeaveConnection.

Funciones públicas

Anular

void Abort(
  void
)

Realiza un cierre correcta de la WeaveConnection basada en TCP o BLE, descartando cualquier dato que esté en tránsito hacia o desde el par.

Una llamada a Abort() finaliza inmediatamente la conexión subyacente. Después de este punto, ya no se puede usar el objeto WeaveConnection para una comunicación adicional.

Llamar a Abort() disminuye el recuento de referencia asociado con el objeto WeaveConnection, independientemente de si la conexión está abierta o activa en el momento en que se llama al método. Si el resultado es que el recuento de referencias llega a 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:
Shutdown(), Abort(), AddRef() y Release().

Agregar referencia

void AddRef(
  void
)

Reserva una referencia al objeto WeaveConnection.

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

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

En el caso de las conexiones basadas en BLE, Close() cierra WeaveConnection y muestra una respuesta inmediata, pero puede hacer que el objeto BLEEndPoint subyacente persista hasta que se envíen todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte de Weave sobre BLE existente en Weave BleLayer.

Una vez que se llama a Close(), el objeto WeaveConnection ya no se puede usar para una comunicación posterior.

Llamar a Close() disminuye el recuento de referencia asociado 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 el resultado es que el recuento de referencias llega a 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
Qué muestra
WEAVE_NO_ERROR incondicionalmente.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Cerrar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

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

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

En el caso de las conexiones basadas en BLE, Close() cierra WeaveConnection y muestra una respuesta inmediata, pero puede hacer que el objeto BLEEndPoint subyacente persista hasta que se envíen todos los datos salientes. Este es un efecto secundario de la implementación del protocolo de transporte de Weave sobre BLE existente en Weave BleLayer.

Una vez que se llama a Close(), el objeto WeaveConnection ya no se puede usar para una comunicación posterior.

Llamar a Close() disminuye el recuento de referencia asociado 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 el resultado es que el recuento de referencias llega a 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
Es verdadero si los registros necesitan suprimirse. De lo contrario, es falso.
Qué muestra
WEAVE_NO_ERROR incondicionalmente.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Conexión

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Conectarse a un nodo de Weave mediante una dirección IP de tejido derivada del identificador de nodo especificado

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del par.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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

Conéctate a un nodo de Weave mediante un identificador de nodo 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::Any si no se conoce.
[in] peerPort
El puerto opcional del par. es el predeterminado de WEAVE_PORT.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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

Conéctate a un nodo de Weave mediante un identificador de nodo 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 No autenticados.
[in] peerAddr
La dirección IP del par, IPAddress::Any si no se conoce.
[in] peerPort
El puerto opcional del par. es el predeterminado de WEAVE_PORT.
[in] intf
La interfaz opcional que se usará para conectarse al nodo de par. El valor predeterminado es INET_NULL_INTERFACEID.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del identificador del nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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

Conéctate a un nodo de Weave mediante un identificador de nodo o un nombre de host de string.

Si se proporciona, paresAddr puede ser cualquiera de las siguientes opciones:


:

:

[]:

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 No autenticados.
[in] peerAddr
La dirección o el nombre de host del par como una string C terminada en NULL.
[in] defaultPort
El puerto predeterminado opcional que se usará para la conexión si no se proporciona en la stringpeerAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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

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

Si se proporciona, paresAddr puede ser cualquiera de las siguientes opciones:


:

:

[]:

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 No autenticados.
[in] peerAddr
La dirección o el nombre de host del par como una string C no terminada con NULL
[in] peerAddrLen
La longitud de la string "peerAddr".
[in] defaultPort
El puerto predeterminado opcional que se usará para la conexión si no se proporciona en la stringpeerAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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 mediante un identificador de nodo o una dirección de par de string.

Si se proporciona, paresAddr puede ser cualquiera de las siguientes opciones:


:

:

[]:

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 No autenticados.
[in] peerAddr
La dirección o el nombre de host del par como una string C no terminada con NULL
[in] peerAddrLen
La longitud de la string "peerAddr".
[in] dnsOptions
Valor entero que controla cómo se realiza la resolución del nombre 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 usará para la conexión si no se proporciona en la stringpeerAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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 par.
[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 usará para conectarse al nodo de par. El valor predeterminado es INET_NULL_INTERFACEID.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Conexión

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 par.
[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
Valor entero que controla cómo se realiza la resolución del nombre 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 usará para conectarse al nodo de par. El valor predeterminado es INET_NULL_INTERFACEID.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente la conexión con el par.
WEAVE_ERROR_INCORRECT_STATE
si el estado WeaveConnection es incorrecto.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si no se admite el modo de autenticación solicitado.
WEAVE_ERROR_INVALID_ADDRESS
si la dirección de destino no se puede deducir del ID de nodo.
other
Errores de capa de inet generados por las operaciones de conexión TCPEndPoint.

Inhabilitar KeepKeep

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive,

Inhabilita los sondeos de 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 está en un estado que permite enviar.

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

Detalles
Valores que se muestran
WEAVE_NO_ERROR
en la inhabilitación correcta de los sondeos de 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 la red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
other
Los errores de la capa de inet relacionados con el extremo de TCP habilitan la operación keepalive.

InhabilitarRecepción

void DisableReceive(
  void
)

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

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

Consulta también:
EnableReceive()

Habilitar keepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Habilita los sondeos de 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 está en un estado que permite enviar.

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 falló la conexión.

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

Detalles
Valores que se muestran
WEAVE_NO_ERROR
cuando la habilitación correcta de los sondeos de 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 la red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
other
Los errores de la capa de inet relacionados con el extremo de TCP habilitan la operación keepalive.

Habilitar recepción

void EnableReceive(
  void
)

Habilita 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 los datos provenientes de la conexión TCP.

Consulta también:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Obtén la información de la dirección IP del par.

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

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

Detalles
Parámetros
[in] buf
Un puntero para un búfer en el que se debe escribir la string. El búfer suministrado 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 terminación NUL en todos los casos.
[in] bufSize
Tamaño del búfer al que apunta un búfer.

ObtenerTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Entrante

bool IsIncoming(
  void
) const 

ID de registro

uint16_t LogId(
  void
) const 

Lanzar

void Release(
  void
)

Disminuir el recuento de referencia en el objeto WeaveConnection

El método Release() disminuye el recuento de referencia asociado con el objeto WeaveConnection. Si el resultado es que el recuento de referencias llega 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.

Restablecer tiempo de espera del usuario

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Restablece la opción de socket de tiempo de espera del usuario TCP a la configuración predeterminada del sistema.

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 está en un estado que permite enviar.

- Este método no realizará ninguna acción si no se estableció el tiempo de espera del usuario en la conexión.

Detalles
Valores que se muestran
WEAVE_NO_ERROR
si se restablece correctamente el tiempo de espera del 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 la red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
other
Errores de capa inestable en relación con el restablecimiento del extremo TCP del tiempo de espera del usuario TCP.

Enviar mensaje

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Enviar 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 PacketBuffer que contiene el paquete que se enviará.
Valores que se muestran
WEAVE_NO_ERROR
Se envía correctamente el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si no se especifica el identificador de nodo de destino.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarlo.
other
Se produjeron errores de capa relacionados con las operaciones de envío de extremos específicas.

Enviar TúnelDeMensaje

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Enviar 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 PacketBuffer que contiene el paquete que se enviará.
Valores que se muestran
WEAVE_NO_ERROR
Se envía correctamente el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si no se especifica el identificador de nodo de destino.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarlo.
other
Se produjeron errores de capa relacionados con las operaciones de envío de extremos específicas.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

Detalles
Parámetros
[in] connTimeoutMsecs

Se agotó el tiempo de espera

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 que se muestran
WEAVE_NO_ERROR
una configuración exitosa del tiempo de espera de inactividad de la conexión
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no se encuentra en el estado correcto para recibir mensajes.

Entrante

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout;

Configura la opción de socket de tiempo de espera del usuario TCP.

Cuando el valor es superior a 0, especifica la cantidad máxima de tiempo en milisegundos que los datos transmitidos pueden no reconocerse antes de que TCP cierre forzadamente la conexión correspondiente. Si el valor de la opción se especifica como 0, TCP utilizará el valor predeterminado del sistema. Consulta RFC 5482 para obtener más detalles.

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

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 está en un estado que permite enviar.

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

Detalles
Valores que se muestran
WEAVE_NO_ERROR
si la configuración del tiempo de espera del usuario TCP en la conexión es correcta.
WEAVE_ERROR_NOT_IMPLEMENTED
Si esta función se invoca para un extremo incompatible (p.ej., BLE) en la capa de la red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto para enviar mensajes.
other
Se produjeron errores de capa internos relacionados con la configuración del extremo de TCP del tiempo de espera del usuario TCP.

Cierre

WEAVE_ERROR Shutdown(
  void
)

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

En la mayoría de las implementaciones de TCP (pero no todas) y la recepción del cierre de envío también provoca que el host remoto cierre la conexión, por lo que se cierra. Una llamada posterior a Close() finalizaría WeaveConnection.

Detalles
Valores que se muestran
WEAVE_NO_ERROR
cuando se cierre correctamente la conexión de TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
Si esta función se invoca para un extremo incompatible (p.ej., BLE) en la capa de la red.
WEAVE_ERROR_INCORRECT_STATE
si el objeto WeaveConnection no tiene el estado correcto antes de iniciar el cierre
other
Se produjeron errores de capa internos relacionados con las operaciones de cierre de extremos específicas.
Consulta también:
Close() y Abort().