En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: WeaveConnection

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

La definición de la clase Weave Connection.

Resumen

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

Tipos públicos

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

Atributos públicos

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

Funciones publicas

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

Tipos públicos

@ 58

 @58
Propiedades
kGetPeerDescription_MaxLength

Longitud máxima de cadena (incluyendo el carácter NUL) devuelto por GetPeerDescription () .

ConexiónCerradoFunción

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

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

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

ConnectionCompleteFunct

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

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

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

MessageReceiveFunct

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

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

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

Tipo de red

 NetworkType

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

Propiedades
kNetworkType_BLE

Tipo de red BLE.

kNetworkType_IP

Tipo de red TCP / IP.

kNetworkType_Unassigned

Tipo de red sin asignar.

ReceiveErrorFunct

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

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

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

Expresar

 State

El objeto de conexión Estado del tejido.

Propiedades
kState_Closed

Indica cuándo se cierra la conexión.

kState_Connected

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

kState_Connecting

Estado cuando se está intentando la conexión.

kState_EstablishingSession

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

kState_ReadyToConnect

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

kState_Resolving

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

kState_SendShutdown

Indica cuándo se cierra la conexión.

TunneledMsgReceiveFunct

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

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

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

Atributos públicos

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

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

DefaultEncryptionType

uint8_t DefaultEncryptionType

El tipo de cifrado predeterminado para los mensajes.

DefaultKeyId

uint16_t DefaultKeyId

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

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] El asociada WeaveMessageLayer objeto.

Tipo de red

uint8_t NetworkType

[SÓLO LECTURA] El tipo de red del punto final asociado.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

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

PeerNodeId

uint64_t PeerNodeId

[SOLO LECTURA] El identificador de nodo del par.

PeerPort

uint16_t PeerPort

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

ReceiveEnabled

bool ReceiveEnabled

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

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

bool SendSourceNodeId

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

Expresar

uint8_t State

[READ ONLY] El estado de la WeaveConnection objeto.

Funciones publicas

Abortar

void Abort(
  void
)

Realiza un cierre no-ordenado del TCP-BLE o basado en WeaveConnection , descartando cualquier dato que pudieran encontrarse en vuelo hacia o desde el par.

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

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

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

AddRef

void AddRef(
  void
)

Reservar una referencia a la WeaveConnection objeto.

Los AddRef () incrementos método, el recuento de referencia asociado con el WeaveConnection objeto. Para cada llamada a AddRef () , la aplicación se encarga de hacer una llamada correspondiente a cualquiera de lanzamiento () , Close () o Cancelar () .

Cerca

WEAVE_ERROR Close(
  void
)

Realiza un cierre correcto de no bloqueo del basada en TCP-BLE o WeaveConnection , la entrega de los datos salientes que quedan antes cortésmente informar al host remoto que tenemos restablecer la conexión.

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

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

Una vez Close () se ha llamado, la WeaveConnection objeto ya no se puede utilizar para la comunicación adicional.

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

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

Cerca

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Realiza un cierre correcto de no bloqueo del basada en TCP-BLE o WeaveConnection , la entrega de los datos salientes que quedan antes cortésmente informar al host remoto que tenemos restablecer la conexión.

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

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

Una vez Close () se ha llamado, la WeaveConnection objeto ya no se puede utilizar para la comunicación adicional.

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

Detalles
Parámetros
[in] suppressCloseLog
Es verdadero si los registros deben suprimirse, falso en caso contrario.
Devoluciones
WEAVE_NO_ERROR incondicionalmente.
Ver también:
Shutdown () , Abortar () , AddRef () y Release () .

Conectar

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

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

Conectar

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

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

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

Conectar

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

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

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

Conectar

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

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

Si suministrado, peerAddr puede ser cualquiera de:


:

:

[]:

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

Conectar

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

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

Si suministrado, peerAddr puede ser cualquiera de:


:

:

[]:

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

Conectar

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

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

Si suministrado, peerAddr puede ser cualquiera de:


:

:

[]:

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

Conectar

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

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

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

Conectar

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

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

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

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection :: DisableKeepAlive .

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

Nota: Este método sólo puede ser llamado en una conexión de la armadura del respaldo de una conexión TCP. Este método solo se puede llamar cuando la conexión está en un estado que permite el envío.

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

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

DisableReceive

void DisableReceive(
  void
)

Desactivar recepción sobre este WeaveConnection .

La aplicación utiliza este método para indicar que no está lista para recibir datos recibidos a través de la conexión TCP. Con el fin de volver a habilitar que reciben, las necesidades de la aplicación para llamar EnableReceive () para permitir WeaveConnection a entregar cualesquiera datos recibidos mediante la invocación de las devoluciones de llamada approrpiate.

Ver también:
EnableReceive ()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

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

Nota: -Este método sólo puede ser llamado en una conexión de la armadura del respaldo de una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

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

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

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

EnableReceive

void EnableReceive(
  void
)

Habilitar recibir durante este WeaveConnection .

Este método es utilizado por la aplicación para indicar al WeaveConnection objeto que está listo para recibir cualquier información que llega a través de la conexión TCP.

Ver también:
DisableReceive ()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

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

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

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

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

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Lanzamiento

void Release(
  void
)

Disminuir el número de referencias en la WeaveConnection objeto.

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

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection :: ResetUserTimeout .

Restablezca la opción de socket de tiempo de espera de usuario TCP a los valores predeterminados del sistema.

Nota: -Este método sólo puede ser llamado en una conexión de la armadura del respaldo de una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

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

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

Enviar mensaje

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Detalles
Parámetros
[in] msgInfo
Un puntero a una WeaveMessageInfo objeto.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete a enviar.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el WeaveConnection objeto 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 capa de Inet relacionados con las operaciones de envío de endpoint específicas.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

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

Detalles
Parámetros
[in] msgInfo
Un puntero a una WeaveMessageInfo objeto.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete a enviar.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INCORRECT_STATE
si el WeaveConnection objeto 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 de envío de endpoint específicas.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

Detalles
Parámetros
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

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

Entrante

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection :: SetUserTimeout .

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

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

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

Nota: -Este método sólo puede ser llamado en una conexión de la armadura del respaldo de una conexión TCP. -Este método solo se puede llamar cuando la conexión se encuentra en un estado que permite enviar.

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

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

Cerrar

WEAVE_ERROR Shutdown(
  void
)

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

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

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