nl:: Weave:: Vinculación:: Configuración
#include <src/lib/core/WeaveBinding.h>
Proporciona una interfaz de estilo declarativo para configurar y preparar un objeto Binding.
Resumen
Cuando se configura una Binding, las aplicaciones deben llamar al menos a un método de cada uno de los siguientes grupos de configuración: Target, Transport y Security. 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 que se llamará.
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)
|
Se configuró 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 al configurar la vinculación.
|
PrepareBinding(void)
|
Es el proceso de preparación de la vinculación para la comunicación con el par.
|
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
|
Al comunicarte con un par, envía y recibe mensajes encriptados para un determinado grupo de aplicaciones de Weave.
|
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
|
Configura el modo de autenticación solicitado para usarlo en la autenticación del par.
|
Security_CASESession(void)
|
Cuando te comuniques con un par de pares, envía y recibe mensajes encriptados con una clave de sesión CASE establecida con el nodo de par.
|
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)
|
Al comunicarte con un par, envía y recibe mensajes encriptados con una clave específica.
|
Security_None(void)
|
Cuando te comunicas con el par, envía y recibe 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 PASE establecida con el nodo de intercambio de tráfico.
|
Security_SharedCASESession(void)
|
Cuando te comuniques con un par de ellos, envía y recibe mensajes encriptados con una clave de sesión CASE compartida 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 con un nodo del router especificado.
|
Security_TAKESession()
|
Cuando te comuniques con un par de pares, envía y recibe mensajes encriptados con la clave de sesión GET establecida con el nodo de intercambio de tráfico.
|
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, el puerto y la interfaz de red específicos.
|
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Cuando te comuniques con el par, usa el nombre de host, el puerto y la interfaz de red específicos.
|
TargetAddress_WeaveFabric(uint16_t aSubnetId)
|
Cuando te comuniques con el par, usa una dirección de tela de Weave derivada del ID del nodo del par y una subred especificada.
|
TargetAddress_WeaveService(void)
|
Cuando te comuniques con el par de intercambio de tráfico, usa una dirección de tejido de servicio de Weave a partir del ID del nodo correspondiente.
|
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 del servicio de Weave específico.
|
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
|
Establece la configuración predeterminada de WRMP 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 par.
|
Transport_UDP(void)
|
Usa UDP para comunicarte con el par.
|
Transport_UDP_PathMTU(uint32_t aPathMTU)
|
Configura la MTU de la ruta de acceso esperada para los paquetes UDP que se trasladan al par.
|
Transport_UDP_WRM(void)
|
Usa el protocolo de mensajes confiables de Weave cuando te comunicas con el interlocutor.
|
Funciones públicas
ConfigurarDeMensaje
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 |
|
DNS_Opciones
Configuration & DNS_Options( uint8_t dnsOptions )
Cuando resuelvas el nombre de host del par, usa las opciones de DNS especificadas.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Exchange_ResponseTimeoutMsec
Configuration & Exchange_ResponseTimeoutMsec( uint32_t aResponseTimeoutMsec )
Se configuró el tiempo de espera de respuesta predeterminado para los contextos de intercambio creados a partir de este objeto Binding.
Details | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Error
WEAVE_ERROR GetError( void ) const
Muestra cualquier error que se haya producido al configurar la vinculación.
PrepareBinding
WEAVE_ERROR PrepareBinding( void )
Es el proceso de preparación de la vinculación para la comunicación con el par.
Security_AppGroupKey
Configuration & Security_AppGroupKey( uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey )
Al comunicarte con un par, envía y recibe mensajes encriptados para un determinado grupo de aplicaciones de Weave.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
Una referencia al objeto Binding.
|
Modo de autenticación de seguridad
Configuration & Security_AuthenticationMode( WeaveAuthMode aAuthMode )
Configura el modo de autenticación solicitado para usarlo en la autenticación del par.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto Binding.
|
Security_CASESession
Configuration & Security_CASESession( void )
Cuando te comuniques con un par de pares, envía y recibe mensajes encriptados con una clave de sesión CASE establecida con el nodo de 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 |
Una referencia al objeto de vinculación.
|
Seguridad_Tipo de encriptación
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 |
|
||
Qué muestra |
Una referencia al objeto Binding.
|
Clave de seguridad
Configuration & Security_Key( uint32_t aKeyId )
Al comunicarte con un par, envía y recibe mensajes encriptados con una clave específica.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto Binding.
|
Seguridad_Ninguna
Configuration & Security_None( void )
Cuando te comunicas con el par, envía y recibe sin encriptar (es decir,
mensajes no seguros).
Detalles | |
---|---|
Qué muestra |
Una referencia al objeto de vinculación.
|
Seguridad_PASESesión
Configuration & Security_PASESession( uint8_t aPasswordSource )
Cuando te comunicas con el par, envía y recibe mensajes encriptados con una clave de sesión 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 |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( void )
Cuando te comuniques con un par de ellos, envía y recibe mensajes encriptados con una clave de sesión CASE compartida 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 |
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 con un nodo del 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 |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Sesión_de_seguridad
Configuration & Security_TAKESession()
Cuando te comuniques con un par de pares, envía y recibe mensajes encriptados con la clave de sesión GET 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 |
Una referencia al objeto de vinculación.
|
DirecciónDirecciónDeObjetivo
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 |
|
||||||
Qué muestra |
Una referencia al objeto de vinculación.
|
DirecciónDirecciónDeObjetivo
Configuration & TargetAddress_IP( const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId )
Cuando te comuniques con el par, usa el nombre de host, el puerto y la interfaz de red específicos.
NOTA: El llamador debe garantizar que la string del nombre de host proporcionada siga siendo válida hasta que se complete la fase de preparación de la vinculación.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
Una referencia al objeto de vinculación.
|
DirecciónDirecciónDeObjetivo
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, el puerto y la interfaz de red específicos.
NOTA: El llamador debe garantizar que la string del nombre de host proporcionada siga siendo válida hasta que se complete la fase de preparación de la vinculación.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Qué muestra |
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 tela de Weave derivada del ID del nodo del par y una subred especificada.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
TargetAddress_WeaveService
Configuration & TargetAddress_WeaveService( void )
Cuando te comuniques con el par de intercambio de tráfico, usa una dirección de tejido de servicio de Weave a partir del ID del nodo correspondiente.
Detalles | |
---|---|
Qué muestra |
Una referencia al objeto de vinculación.
|
ID del nodo de destino
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 |
|
||
Qué muestra |
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 del servicio de Weave específico.
Si no se configura, la dirección del par se establece en la dirección de tejido de Weave del extremo del servicio.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Transport_DefaultWRMPConfig
Configuration & Transport_DefaultWRMPConfig( const WRMPConfig & aWRMPConfig )
Establece la configuración predeterminada de WRMP para los contextos de intercambio creados a partir de este objeto Binding.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
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 en el objeto de conexión aumenta cuando se realiza correctamente la preparación de la vinculación. Por lo tanto, la aplicación es responsable de garantizar que el objeto de conexión permanezca activo hasta ese momento.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Transport_TCP
Configuration & Transport_TCP( void )
Usa TCP para comunicarte con el par.
Detalles | |
---|---|
Qué muestra |
Una referencia al objeto de vinculación.
|
Transport_UDP
Configuration & Transport_UDP( void )
Usa UDP para comunicarte con el par.
Detalles | |
---|---|
Qué muestra |
Una referencia al objeto de vinculación.
|
Transport_UDP_PathMTU
Configuration & Transport_UDP_PathMTU( uint32_t aPathMTU )
Configura la MTU de la ruta de acceso esperada para los paquetes UDP que se trasladan al par.
En algunos protocolos de Weave, se utilizará esta opción para ajustar de forma dinámica el tamaño de la carga útil del mensaje de Weave.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una referencia al objeto de vinculación.
|
Transport_UDP_WRM
Configuration & Transport_UDP_WRM( void )
Usa el protocolo de mensajes confiables de Weave cuando te comunicas con el interlocutor.
Detalles | |
---|---|
Qué muestra |
Una referencia al objeto de vinculación.
|