nl::Weave::WeaveConnection

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

Es la definición de la clase de conexión de Weave.

Resumen

Representa una conexión TCP o BLE a 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 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 túnel a través de la conexión de Weave.

Atributos públicos

AppState
void *
Un puntero para el 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 para la conexión.
DefaultEncryptionType
uint8_t
Es el tipo de encriptación predeterminado para los mensajes.
DefaultKeyId
uint16_t
La clave de encriptación predeterminada que se usa al enviar 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
[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
[SOLO LECTURA] 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
[SOLO LECTURA] El estado del objeto WeaveConnection.

Funciones públicas

Abort(void)
void
Realiza un cierre incorrecto de WeaveConnection basada en TCP o BLE y descarta 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 sin bloqueo de WeaveConnection basada en TCP o BLE y envía 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 basada en TCP o BLE y envía 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 estructura 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 string.
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 strings.
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 strings.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Conéctate a un nodo de Weave con 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 con un identificador de nodo o una lista de nombres de host y puertos.
DisableKeepAlive(void)
DisableReceive(void)
void
Inhabilita la recepción de esta WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Habilita la recepción 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 string 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
Disminuir el recuento de referencias en el objeto WeaveConnection
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envía un mensaje de Weave mediante una conexión establecida.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Es la función para enviar un paquete 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 de envío de TCP correcto, 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 una 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 para el objeto WeaveConnection.
[in] conErr
Se detectó el 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 una configuración de conexión.

Detalles
Parámetros
[in] con
Un puntero para el objeto WeaveConnection.
[in] conErr
Se detectó 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 para el objeto WeaveConnection.
[in] msgInfo
Un puntero para una estructura de 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 un tipo de red BLE.

kNetworkType_IP

o 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 cuando se produce un error al recibir un mensaje de Weave.

Detalles
Parámetros
[in] con
Un puntero para el objeto WeaveConnection.
[in] err
Se encontró el 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

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 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 cuándo se realiza la resolución de nombres de DNS.

kState_SendShutdown

El 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 túnel a través de la conexión de Weave.

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

Atributos públicos

AppState

void * AppState

Un puntero para el 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 para la conexión.

DefaultEncryptionType

uint8_t DefaultEncryptionType

Es el tipo de encriptación predeterminado para los mensajes.

DefaultKeyId

uint16_t DefaultKeyId

La clave de encriptación predeterminada que se usa al enviar 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

[READ ONLY] 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] El número de puerto del nodo de intercambio de tráfico.

ReceiveEnabled

bool ReceiveEnabled

[SOLO LECTURA] 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

[SOLO LECTURA] El estado del objeto WeaveConnection.

Funciones públicas

Anular

void Abort(
  void
)

Realiza un cierre incorrecto de WeaveConnection basada en TCP o BLE y descarta cualquier dato que esté en tránsito hacia o desde el par.

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

Llamar a Abort() disminuye el recuento de referencias 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 esto hace que el recuento de referencias llegue 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().

AddRef

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 sin bloqueo de WeaveConnection basada en TCP o BLE y envía los datos salientes restantes antes de informar amablemente al host remoto que restablecimos la conexión.

Este método no proporciona ninguna garantía sólida de que el par remoto haya recibido cualquier mensaje saliente no confirmado en el nivel de protocolo de la aplicación. Tanto para TCP como para BLE, la pila de protocolos subyacente hará todo lo posible 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 del mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan un equivalente a Shutdown().

Para las conexiones basadas en BLE, Close() cierra WeaveConnection y se muestra inmediatamente, pero puede provocar que el objeto BLEEndPoint subyacente permanezca 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 dentro de Weave BleLayer.

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

Llamar a Close() disminuye el recuento de referencias 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 esto hace que el recuento de referencias llegue 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 de forma incondicional.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Cerrar

WEAVE_ERROR Close(
  bool suppressCloseLog
)

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

Este método no proporciona ninguna garantía sólida de que el par remoto haya recibido cualquier mensaje saliente no confirmado en el nivel de protocolo de la aplicación. Tanto para TCP como para BLE, la pila de protocolos subyacente hará todo lo posible 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 del mensaje de la capa de transporte antes de cerrar la conexión. Las conexiones BLE no proporcionan un equivalente a Shutdown().

Para las conexiones basadas en BLE, Close() cierra WeaveConnection y se muestra inmediatamente, pero puede provocar que el objeto BLEEndPoint subyacente permanezca 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 dentro de Weave BleLayer.

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

Llamar a Close() disminuye el recuento de referencias 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 esto hace que el recuento de referencias llegue 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
true si se deben suprimir los registros, de lo contrario, false.
Qué muestra
WEAVE_NO_ERROR de forma incondicional.
Consulta también:
Shutdown(), Abort(), AddRef() y Release().

Conéctate

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Detalles
Parámetros
[in] peerNodeId
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 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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 de nodo del par, kNodeIdNotspecified o 0 si no se conoce.
[in] peerAddr
La dirección IP del par, IPAddress::Any si es desconocida.
[in] peerPort
El puerto opcional del par, predeterminado a 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 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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 de nodo del par, kNodeIdNotspecified 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 sin autenticar.
[in] peerAddr
La dirección IP del par, IPAddress::Any si es desconocida.
[in] peerPort
El puerto opcional del par, predeterminado a WEAVE_PORT.
[in] intf
La interfaz opcional que se usará para conectarse al nodo de intercambio de tráfico. 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 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 TCPEndPoint.

Conéctate

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

Si se proporciona, parAddr 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 intercambio de tráfico. Solo se admiten los modos CASE, PASE y sin autenticar.
[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 utilizará para la conexión si no se proporciona en la string parAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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

Si se proporciona, parAddr 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 intercambio de tráfico. Solo se admiten los modos CASE, PASE y sin autenticar.
[in] peerAddr
La dirección o el nombre de host del par como una string C no terminada en NULL.
[in] peerAddrLen
La longitud de la string parAddr.
[in] defaultPort
El puerto predeterminado opcional que se utilizará para la conexión si no se proporciona en la string parAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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

Si se proporciona, parAddr 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 intercambio de tráfico. Solo se admiten los modos CASE, PASE y sin autenticar.
[in] peerAddr
La dirección o el nombre de host del par como una string C no terminada en NULL.
[in] peerAddrLen
La longitud de la string parAddr.
[in] dnsOptions
Un valor entero que controla cómo se realiza la resolución de nombres de host. El valor debe ser el operador O 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 string parAddr.
Valores que se muestran
WEAVE_NO_ERROR
cuando se inicia correctamente 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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

Conéctate a un nodo de Weave con un identificador de nodo 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 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 intercambio de tráfico. 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 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

Conéctate

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

Conéctate a un nodo de Weave con un identificador de nodo 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 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 operador O 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 intercambio de tráfico. 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 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 ID del nodo.
other
Errores de capa Inet generados por las operaciones de conexión TCPEndPoint.

DisableKeepAlive

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 se encuentra en un estado que permita el envío.

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

Detalles
Valores que se muestran
WEAVE_NO_ERROR
si se inhabilita correctamente los sondeos keepalive de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
Si se invoca esta función 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 inserción relacionados con el extremo TCP habilitan la operación keepalive.

DisableReceive

void DisableReceive(
  void
)

Inhabilita la recepción de esta WeaveConnection.

La aplicación usa 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 datos recibidos invocando las devoluciones de llamada correspondientes.

Consulta también:
EnableReceive()

EnableKeepAlive

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 permita 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 de tiempo de espera.

Detalles
Valores que se muestran
WEAVE_NO_ERROR
sobre la habilitación exitosa de los sondeos keepalive de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
Si se invoca esta función 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 inserción relacionados con el extremo TCP habilitan la operación keepalive.

EnableReceive

void EnableReceive(
  void
)

Habilita la recepción de esta WeaveConnection.

La aplicación usa este método para indicarle al objeto WeaveConnection que está listo para recibir cualquier dato que llegue a través 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 intercambio de tráfico.

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

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Construye una string 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 string. 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. El resultado incluirá un carácter de finalización NUL en todos los casos.
[in] bufSize
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
)

Disminuir el recuento de referencias en el objeto WeaveConnection

El método Release() disminuye el recuento de referencias asociado con el objeto WeaveConnection. Si esto hace que el recuento de referencias llegue a cero, se cierra la conexión y se libera el objeto de conexión. 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: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 permita el envío.

-Este método no realiza 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 de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
Si se invoca esta función 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 capa de inserción relacionados con el restablecimiento del extremo de TCP del tiempo de espera del usuario de TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envía un mensaje de Weave mediante 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
de 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 no se especifica el identificador del nodo de destino.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarlo.
other
Errores de capa de inserción relacionados con las operaciones de envío específicas del extremo.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Es la función para enviar un paquete 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 PacketBuffer que contiene el paquete que se enviará.
Valores que se muestran
WEAVE_NO_ERROR
de 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 no se especifica el identificador del nodo de destino.
WEAVE_ERROR_SENDING_BLOCKED
si el mensaje es demasiado largo para enviarlo.
other
Errores de capa de inserción relacionados con las operaciones de envío específicas 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 que se muestran
WEAVE_NO_ERROR
si el tiempo de espera de inactividad de la conexión se estableció correctamente.
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.

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

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

Detalles
Parámetros
[in] userTimeoutMillis
Valor de tiempo de espera del usuario de 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 permita el envío.

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

Detalles
Valores que se muestran
WEAVE_NO_ERROR
si se configura correctamente el tiempo de espera del usuario de TCP en la conexión.
WEAVE_ERROR_NOT_IMPLEMENTED
Si se invoca esta función 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 capa de inserción relacionados con la configuración del extremo de TCP del tiempo de espera del usuario de TCP.

Cierre

WEAVE_ERROR Shutdown(
  void
)

Realiza un cierre de envío de TCP correcto, 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 provocará que el host remoto también cierre su lado de la conexión, lo que dará como resultado el cierre de la conexión. Una llamada posterior a Close() terminaría la WeaveConnection.

Detalles
Valores que se muestran
WEAVE_NO_ERROR
cuando se cierre correctamente la conexión de TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
Si se invoca esta función 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 capa inet relacionados con las operaciones específicas de cierre del extremo.
Consulta también:
Close() y Abort().