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

nl :: Tejido:: Unión:: Configuración

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

Proporciona una interfaz de estilo declarativo para configurar y preparar una encuadernación objeto.

Resumen

Al configurar un Binding , las aplicaciones deben llamar a al menos un método de cada uno de los siguientes grupos de configuración: Target, transporte y seguridad. Se pueden llamar a otros métodos según sea necesario para anular el comportamiento predeterminado.

Si se invocan configuraciones mutuamente excluyentes (por ejemplo, Transport_TCP () seguido por Transport_UDP () ), el último en ser llamado victorias.

Funciones publicas

ConfigureFromMessage (const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Configure el enlace para permitir la comunicación con el remitente de un mensaje recibido.
DNS_Options (uint8_t dnsOptions)
Al resolver el nombre de host del par, utilice las opciones de DNS especificadas.
Exchange_ResponseTimeoutMsec (uint32_t aResponseTimeoutMsec)
Poner el tiempo de respuesta predeterminada para contextos de cambio creadas a partir de esta encuadernación objeto.
GetError (void) const
Devolver cualquier error que se ha producido durante la configuración de la encuadernación .
PrepareBinding (void)
Siendo el proceso de preparación de la encuadernación para la comunicación con los pares.
Security_AppGroupKey (uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Al comunicarse con el par, envíe y reciba mensajes cifrados para un grupo de aplicaciones Weave específico.
Security_AuthenticationMode (WeaveAuthMode aAuthMode)
Configure el modo de autenticación solicitado que se utilizará para autenticar al par.
Security_CASESession (void)
Al comunicarse con el par, envíe y reciba mensajes cifrados mediante una clave de sesión CASE establecida con el nodo del par.
Security_EncryptionType (uint8_t aEncType)
Al comunicarse con el par, envíe y reciba mensajes cifrados utilizando el tipo de cifrado de mensajes especificado.
Security_Key (uint32_t aKeyId)
Al comunicarse con el par, envíe y reciba mensajes cifrados con una clave específica.
Security_None (void)
Al comunicarse con el par, envíe y reciba sin cifrar (es decir,
Security_PASESession (uint8_t aPasswordSource)
Al comunicarse con el par, envíe y reciba mensajes cifrados utilizando una clave de sesión PASE establecida con el nodo del par.
Security_SharedCASESession (void)
Al comunicarse con el par, envíe y reciba mensajes cifrados mediante una clave de sesión CASE compartida establecida con el enrutador central Nest.
Security_SharedCASESession (uint64_t aRouterNodeId)
Al comunicarse con el par, envíe y reciba mensajes encriptados utilizando una clave de sesión CASE compartida establecida con un nodo de enrutador específico.
Security_TAKESession ()
Al comunicarse con el par, envíe y reciba mensajes encriptados utilizando una clave de sesión TAKE establecida con el nodo del par.
TargetAddress_IP ( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Al comunicarse con el par, utilice la dirección IP, el puerto y la interfaz de red específicos.
TargetAddress_IP (const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Al comunicarse con el par, utilice el nombre de host, el puerto y la interfaz de red específicos.
TargetAddress_IP (const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Al comunicarse con el par, utilice el nombre de host, el puerto y la interfaz de red específicos.
TargetAddress_WeaveFabric (uint16_t aSubnetId)
Cuando se comunique con el par, use una dirección de tejido Weave derivada de la identificación del nodo del par y una subred especificada.
TargetAddress_WeaveService (void)
Al comunicarse con el par, use una dirección de tejido de servicio Weave derivada de la identificación del nodo del par.
Target_NodeId (uint64_t aPeerNodeId)
Configure el enlace para comunicarse con un ID de nodo de Weave específico.
Target_ServiceEndpoint (uint64_t aPeerNodeId)
Configure el enlace para comunicarse con un punto final de servicio Weave específico.
Transport_DefaultWRMPConfig (const WRMPConfig & aWRMPConfig)
Establecimiento de la configuración predeterminada para WRMP contextos de cambio creadas a partir de esta encuadernación objeto.
Transport_ExistingConnection ( WeaveConnection *apConnection)
Utilice una conexión Weave existente para comunicarse con el par.
Transport_TCP (void)
Utilice TCP para comunicarse con el par.
Transport_UDP (void)
Utilice UDP para comunicarse con el par.
Transport_UDP_PathMTU (uint32_t aPathMTU)
Establezca la MTU de ruta esperada para los paquetes UDP que viajan al par.
Transport_UDP_WRM (void)
Utilice el protocolo Weave Reliable Messaging cuando se comunique con el par.

Funciones publicas

ConfigureFromMessage

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

Configure el enlace para permitir la comunicación con el remitente de un mensaje recibido.

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

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Al resolver el nombre de host del par, utilice 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.
Devoluciones
Una referencia al objeto vinculante.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Poner el tiempo de respuesta predeterminada para contextos de cambio creadas a partir de esta encuadernación objeto.

Detalles
Parámetros
[in] aResponseTimeoutMsec
El tiempo de respuesta predeterminado, en ms.
Devoluciones
Una referencia al objeto vinculante.

GetError

WEAVE_ERROR GetError(
  void
) const 

Devolver cualquier error que se ha producido durante la configuración de la encuadernación .

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Siendo el proceso de preparación de la encuadernación para la comunicación con los pares.

Security_AppGroupKey

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

Al comunicarse con el par, envíe y reciba mensajes cifrados para un grupo de aplicaciones Weave específico.

Detalles
Parámetros
[in] aAppGroupGlobalId
El ID global del grupo de aplicaciones para el que se deben cifrar los mensajes.
[in] aRootKeyId
La clave raíz utilizada para derivar claves de cifrado para el grupo de aplicaciones Weave especificado.
[in] aUseRotatingKey
Verdadero si Weave Application Group usa teclas de mensaje rotativas.
Devoluciones
Una referencia a la Binding objeto.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Configure el modo de autenticación solicitado que se utilizará para autenticar al par.

Detalles
Parámetros
[in] aAuthMode
El modo de autenticación solicitado.
Devoluciones
Una referencia a la Binding objeto.

Security_CASESession

Configuration & Security_CASESession(
  void
)

Al comunicarse con el par, envíe y reciba mensajes cifrados mediante una clave de sesión CASE establecida con el nodo del par.

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

Detalles
Devoluciones
Una referencia al objeto vinculante.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Al comunicarse con el par, envíe y reciba mensajes cifrados utilizando el tipo de cifrado de mensajes especificado.

Detalles
Parámetros
[in] aEncType
El tipo de cifrado del mensaje Weave.
Devoluciones
Una referencia a la Binding objeto.

Clave de seguridad

Configuration & Security_Key(
  uint32_t aKeyId
)

Al comunicarse con el par, envíe y reciba mensajes cifrados con una clave específica.

Detalles
Parámetros
[in] aKeyId
La identificación de la clave de cifrado. La clave especificada debe ser adecuada para el cifrado de mensajes de Weave.
Devoluciones
Una referencia a la Binding objeto.

Security_None

Configuration & Security_None(
  void
)

Al comunicarse con el par, envíe y reciba sin cifrar (es decir,

mensajes no seguros).

Detalles
Devoluciones
Una referencia al objeto vinculante.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Al comunicarse con el par, envíe y reciba mensajes cifrados utilizando una clave de sesión PASE establecida con el nodo del par.

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

Detalles
Parámetros
[in] aPasswordSource
La fuente de la contraseña que se utilizará durante el establecimiento de la sesión PASE.
Devoluciones
Una referencia al objeto vinculante.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Al comunicarse con el par, envíe y reciba mensajes cifrados mediante una clave de sesión CASE compartida establecida con el enrutador central Nest.

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

Detalles
Devoluciones
Una referencia al objeto vinculante.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Al comunicarse con el par, envíe y reciba mensajes encriptados utilizando una clave de sesión CASE compartida establecida con un nodo de enrutador específico.

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

Detalles
Parámetros
[in] aRouterNodeId
El ID de nodo Weave del enrutador con el que se debe establecer la sesión CASE compartida.
Devoluciones
Una referencia al objeto vinculante.

Security_TAKESession

Configuration & Security_TAKESession()

Al comunicarse con el par, envíe y reciba mensajes encriptados utilizando una clave de sesión TAKE establecida con el nodo del par.

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

Detalles
Devoluciones
Una referencia al objeto vinculante.

TargetAddress_IP

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

Al comunicarse con el par, utilice la dirección IP, el puerto y la interfaz de red específicos.

Detalles
Parámetros
[in] aPeerAddress
Dirección IP del par
[in] aPeerPort
Puerto remoto
[in] aInterfaceId
El ID de la interfaz de red local que se utilizará para la comunicación.
Devoluciones
Una referencia al objeto vinculante.

TargetAddress_IP

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

Al comunicarse con el par, utilice el nombre de host, el puerto y la interfaz de red específicos.

NOTA: La persona que llama debe asegurarse de que la cadena de nombre de host proporcionada siga siendo válida hasta que finalice la fase de preparación de la vinculación.

Detalles
Parámetros
[in] aHostName
Una cadena terminada en NULL que contiene el nombre de host del par.
[in] aPeerPort
Puerto remoto para usar cuando se comunica con el par.
[in] aInterfaceId
El ID de la interfaz de red local que se utilizará para la comunicación.
Devoluciones
Una referencia al objeto vinculante.

TargetAddress_IP

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

Al comunicarse con el par, utilice el nombre de host, el puerto y la interfaz de red específicos.

NOTA: La persona que llama debe asegurarse de que la cadena de nombre de host proporcionada siga siendo válida hasta que finalice la fase de preparación del enlace.

Detalles
Parámetros
[in] aHostName
Una cadena que contiene el nombre de host del par. Esta cadena no necesita tener terminación NULL.
[in] aHostNameLen
La longitud de la cadena a la que apunta aHostName.
[in] aPeerPort
Puerto remoto para usar cuando se comunica con el par.
[in] aInterfaceId
El ID de la interfaz de red local que se utilizará para la comunicación.
Devoluciones
Una referencia al objeto vinculante.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Cuando se comunique con el par, use una dirección de tejido Weave derivada de la identificación del nodo del par y una subred especificada.

Detalles
Parámetros
[in] aSubnetId
El ID de subred que se utilizará para formar la dirección de tejido Weave del par.
Devoluciones
Una referencia al objeto vinculante.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Al comunicarse con el par, use una dirección de tejido de servicio Weave derivada de la identificación del nodo del par.

Detalles
Devoluciones
Una referencia al objeto vinculante.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Configure el enlace para comunicarse con un ID de nodo de Weave específico.

Detalles
Parámetros
[in] aPeerNodeId
ID de nodo del nodo del mismo nivel.
Devoluciones
Una referencia al objeto vinculante.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Configure el enlace para comunicarse con un punto final de servicio Weave específico.

Si no se configura de otra manera, la dirección del par se establece en la dirección de tejido Weave del punto final del servicio.

Detalles
Parámetros
[in] serviceEndpointId
El ID de nodo del punto final del servicio con el que se llevará a cabo la comunicación.
Devoluciones
Una referencia al objeto vinculante.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Establecimiento de la configuración predeterminada para WRMP contextos de cambio creadas a partir de esta encuadernación objeto.

Detalles
Parámetros
[in] aWRMPConfig
Una referencia a la nueva configuración WRMP predeterminada.
Devoluciones
Una referencia al objeto vinculante.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Utilice una conexión Weave existente para comunicarse con el par.

NOTA: El recuento de referencias en el objeto de conexión se incrementa cuando la preparación de la unió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 Weave existente.
Devoluciones
Una referencia al objeto vinculante.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Utilice TCP para comunicarse con el par.

Detalles
Devoluciones
Una referencia al objeto vinculante.

Transporte_UDP

Configuration & Transport_UDP(
  void
)

Utilice UDP para comunicarse con el par.

Detalles
Devoluciones
Una referencia al objeto vinculante.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Establezca la MTU de ruta esperada para los paquetes UDP que viajan al par.

Para algunos protocolos de Weave, esto se utilizará para ajustar dinámicamente el tamaño de la carga útil del mensaje de Weave.

Detalles
Parámetros
[in] aPathMTU
La MTU de ruta esperada para los paquetes UDP que viajan al par.
Devoluciones
Una referencia al objeto vinculante.

Transporte_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Utilice el protocolo Weave Reliable Messaging cuando se comunique con el compañero.

Detalles
Devoluciones
Una referencia al objeto vinculante.