nl::Weave::Binding::Configuration

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

Proporciona una interfaz de estilo declarativo para configurar y preparar un objeto Binding.

Resumen

Cuando se configura una Vinculación, las aplicaciones deben llamar al menos a un método de cada uno de los siguientes grupos de configuración: Destino, Transporte y Seguridad. Se puede llamar a otros métodos según sea necesario para anular el comportamiento predeterminado.

Si se invocan configuraciones mutuamente excluyentes (p.ej., Transport_TCP() seguido de Transport_UDP()), gana el último llamado.

Funciones públicas

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Configura la vinculación para permitir la comunicación con el remitente de un mensaje recibido.
DNS_Options(uint8_t dnsOptions)
Cuando resuelvas el nombre de host del par, usa las opciones de DNS especificadas.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Establece el tiempo de espera de respuesta predeterminado para los contextos de intercambio creados a partir de este objeto Binding.
GetError(void) const
Muestra cualquier error que se haya producido durante la configuración de la Vinculación.
PrepareBinding(void)
Ser el proceso de preparar la vinculación para la comunicación con el intercambio de tráfico.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Cuando te comunicas con el par, envía y recibe mensajes encriptados para un grupo de aplicaciones de Weave especificado.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Configura el modo de autenticación solicitado que se usará para autenticar el par.
Security_CASESession(void)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE establecida con el nodo de intercambio de tráfico.
Security_EncryptionType(uint8_t aEncType)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con el tipo de encriptación de mensajes especificado.
Security_Key(uint32_t aKeyId)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave especificada.
Security_None(void)
Cuando te comunicas con el par, envía y recibe mensajes sin encriptar (es decir,
Security_PASESession(uint8_t aPasswordSource)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión de PASE establecida con el nodo de intercambio de tráfico.
Security_SharedCASESession(void)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE compartida que se estableció con el router principal de Nest.
Security_SharedCASESession(uint64_t aRouterNodeId)
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE compartida establecida con un nodo de router especificado.
Security_TAKESession()
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión Take establecida con el nodo par.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Cuando te comuniques con el par, usa la dirección IP, el puerto y la interfaz de red específicos.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Cuando te comuniques con el par, usa el nombre de host específico, el puerto y la interfaz de la red.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Cuando te comuniques con el par, usa el nombre de host específico, el puerto y la interfaz de la red.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
Cuando te comuniques con el par, usa una dirección de tejido de Weave derivada del ID de nodo del par y una subred especificada.
TargetAddress_WeaveService(void)
Cuando te comuniques con el par, usa una dirección de la estructura de servicio de Weave derivada del ID del nodo del par.
Target_NodeId(uint64_t aPeerNodeId)
Configura la vinculación para que se comunique con un ID de nodo de Weave específico.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
Configura la vinculación para que se comunique con un extremo de servicio específico de Weave.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
Establece la configuración de WRMP predeterminada para los contextos de intercambio creados a partir de este objeto Binding.
Transport_ExistingConnection(WeaveConnection *apConnection)
Usa una conexión de Weave existente para comunicarte con el par.
Transport_TCP(void)
Usa TCP para comunicarte con el intercambio de tráfico.
Transport_UDP(void)
Usa UDP para comunicarte con el par.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Establece la MTU de la ruta de acceso esperada para los paquetes UDP que se trasladan al intercambio de tráfico.
Transport_UDP_WRM(void)
Usa el protocolo de mensajería confiable de Weave cuando te comuniques con el par.

Funciones públicas

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

Configura la vinculación para permitir la comunicación con el remitente de un mensaje recibido.

Detalles
Parámetros
[in] aMsgInfo
Estructura de la información del mensaje asociada con el mensaje recibido.
[in] aPacketInfo
Información del paquete para el mensaje recibido.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Cuando resuelvas el nombre de host del par, usa las opciones de DNS especificadas.

Detalles
Parámetros
[in] dnsOptions
Un valor entero que controla cómo se realiza la resolución de nombres de host. El valor debe ser uno de los valores de la enumeración #::nl::Inet::DNSOptions.
Qué muestra
Es una referencia al objeto de vinculación.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Establece el tiempo de espera de respuesta predeterminado para los contextos de intercambio creados a partir de este objeto Binding.

Detalles
Parámetros
[in] aResponseTimeoutMsec
El tiempo de respuesta predeterminado en ms.
Qué muestra
Es una referencia al objeto de vinculación.

GetError

WEAVE_ERROR GetError(
  void
) const 

Muestra cualquier error que se haya producido durante la configuración de la Vinculación.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Ser el proceso de preparar la vinculación para la comunicación con el intercambio de tráfico.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados para un grupo de aplicaciones de Weave especificado.

Detalles
Parámetros
[in] aAppGroupGlobalId
El ID global del grupo de aplicaciones para el que se deben encriptar los mensajes.
[in] aRootKeyId
La clave raíz utilizada para derivar claves de encriptación para el grupo de aplicaciones de Weave especificado.
[in] aUseRotatingKey
Es verdadero si el grupo de aplicaciones de Weave usa claves de mensaje rotativas.
Qué muestra
Es una referencia al objeto Binding.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Configura el modo de autenticación solicitado que se usará para autenticar el par.

Detalles
Parámetros
[in] aAuthMode
El modo de autenticación solicitado.
Qué muestra
Es una referencia al objeto Binding.

Security_CASESession

Configuration & Security_CASESession(
  void
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE establecida con el nodo de intercambio de tráfico.

Si la sesión necesaria no está disponible, se establecerá automáticamente como parte de la preparación de la vinculación.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con el tipo de encriptación de mensajes especificado.

Detalles
Parámetros
[in] aEncType
El tipo de encriptación de mensajes de Weave.
Qué muestra
Es una referencia al objeto Binding.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave especificada.

Detalles
Parámetros
[in] aKeyId
El ID de la clave de encriptación. La clave especificada debe ser adecuada para la encriptación de mensajes de Weave.
Qué muestra
Es una referencia al objeto Binding.

Security_None

Configuration & Security_None(
  void
)

Cuando te comunicas con el par, envía y recibe mensajes sin encriptar (es decir,

no seguros).

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión de PASE establecida con el nodo de intercambio de tráfico.

Si la sesión necesaria no está disponible, se establecerá automáticamente como parte de la preparación de la vinculación.

Detalles
Parámetros
[in] aPasswordSource
La fuente de la contraseña que se usará durante el establecimiento de la sesión de PASE.
Qué muestra
Es una referencia al objeto de vinculación.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE compartida que se estableció con el router principal de Nest.

Si la sesión necesaria no está disponible, se establecerá automáticamente como parte de la preparación de la vinculación.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión CASE compartida establecida con un nodo de router especificado.

Si la sesión necesaria no está disponible, se establecerá automáticamente como parte de la preparación de la vinculación.

Detalles
Parámetros
[in] aRouterNodeId
ID de nodo de Weave del router con el que se debe establecer la sesión CASE compartida.
Qué muestra
Es una referencia al objeto de vinculación.

Security_TAKESession

Configuration & Security_TAKESession()

Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión Take establecida con el nodo par.

Si la sesión necesaria no está disponible, se establecerá automáticamente como parte de la preparación de la vinculación.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Cuando te comuniques con el par, usa la dirección IP, el puerto y la interfaz de red específicos.

Detalles
Parámetros
[in] aPeerAddress
Dirección IP del intercambio de tráfico
[in] aPeerPort
Puerto remoto
[in] aInterfaceId
El ID de la interfaz de red local que se usa para la comunicación
Qué muestra
Es una referencia al objeto de vinculación.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Cuando te comuniques con el par, usa el nombre de host específico, el puerto y la interfaz de la red.

NOTA: El llamador debe asegurarse de que la string de nombre de host proporcionada siga siendo válida hasta que se complete la fase de preparación de la vinculación.

Detalles
Parámetros
[in] aHostName
Una string terminada en NULL que contiene el nombre de host del par.
[in] aPeerPort
Puerto remoto que se usará durante la comunicación con el par.
[in] aInterfaceId
El ID de la interfaz de red local que se usa para la comunicación.
Qué muestra
Es una referencia al objeto de vinculación.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Cuando te comuniques con el par, usa el nombre de host específico, el puerto y la interfaz de la red.

NOTA: El llamador debe asegurarse de que la string de nombre de host proporcionada siga siendo válida hasta que se complete la fase de preparación de la vinculación.

Detalles
Parámetros
[in] aHostName
Es una cadena que contiene el nombre de host del par. No es necesario que esta string finalice con el valor NULL.
[in] aHostNameLen
La longitud de la string a la que apunta aHostName.
[in] aPeerPort
Puerto remoto que se usará durante la comunicación con el par.
[in] aInterfaceId
El ID de la interfaz de red local que se usa para la comunicación.
Qué muestra
Es una referencia al objeto de vinculación.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Cuando te comuniques con el par, usa una dirección de tejido de Weave derivada del ID de nodo del par y una subred especificada.

Detalles
Parámetros
[in] aSubnetId
El ID de la subred que se usará para formar la dirección de la red de Weave del intercambio de tráfico.
Qué muestra
Es una referencia al objeto de vinculación.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Cuando te comuniques con el par, usa una dirección de la estructura de servicio de Weave derivada del ID del nodo del par.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Configura la vinculación para que se comunique con un ID de nodo de Weave específico.

Detalles
Parámetros
[in] aPeerNodeId
ID de nodo del nodo de intercambio de tráfico.
Qué muestra
Es una referencia al objeto de vinculación.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Configura la vinculación para que se comunique con un extremo de servicio específico de Weave.

Si no se configura de otra manera, la dirección del par se establece en la dirección de la estructura de Weave del extremo del servicio.

Detalles
Parámetros
[in] serviceEndpointId
El ID de nodo del extremo de servicio con el que se establecerá la comunicación.
Qué muestra
Es una referencia al objeto de vinculación.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Establece la configuración de WRMP predeterminada para los contextos de intercambio creados a partir de este objeto Binding.

Detalles
Parámetros
[in] aWRMPConfig
Es una referencia a la nueva configuración de WRMP predeterminada.
Qué muestra
Es una referencia al objeto de vinculación.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Usa una conexión de Weave existente para comunicarte con el par.

NOTA: El recuento de referencias del objeto de conexión aumenta cuando la preparación de la vinculación se realiza correctamente. Por lo tanto, la aplicación es responsable de garantizar que el objeto de conexión permanezca activo hasta ese momento.

Detalles
Parámetros
[in] con
Un puntero a la conexión existente de Weave.
Qué muestra
Es una referencia al objeto de vinculación.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Usa TCP para comunicarte con el intercambio de tráfico.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Usa UDP para comunicarte con el par.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Establece la MTU de la ruta de acceso esperada para los paquetes UDP que se trasladan al intercambio de tráfico.

Para algunos protocolos de Weave, esto se usará a fin de ajustar de forma dinámica el tamaño de la carga útil del mensaje de Weave.

Detalles
Parámetros
[in] aPathMTU
La MTU de la ruta de acceso esperada para los paquetes UDP que viajan al intercambio de tráfico.
Qué muestra
Es una referencia al objeto de vinculación.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Usa el protocolo de mensajería confiable de Weave cuando te comuniques con el par.

Detalles
Qué muestra
Es una referencia al objeto de vinculación.