nl:: Weave:: Binding:: Configuration
#include <src/lib/core/WeaveBinding.h>
Fornisce un'interfaccia in stile dichiarativo per la configurazione e la preparazione di un oggetto Binding.
Riepilogo
Quando si configura un'associazione, le applicazioni devono richiamare almeno un metodo da ciascuno dei seguenti gruppi di configurazione: destinazione, trasporto e sicurezza. Altri metodi possono essere richiamati in base alle esigenze per eseguire l'override del comportamento predefinito.
Se vengono richiamate configurazioni che si escludono a vicenda (ad es. Transport_TCP() seguito da Transport_UDP()), l'ultimo a essere chiamato vince.
Funzioni pubbliche |
|
---|---|
ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
|
Configura l'associazione per consentire la comunicazione con il mittente di un messaggio ricevuto.
|
DNS_Options(uint8_t dnsOptions)
|
Per risolvere il nome host del peer, utilizza le opzioni DNS specificate.
|
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
|
Imposta il timeout predefinito della risposta per i contesti di scambio creati da questo oggetto Binding.
|
GetError(void) const
|
Restituisce gli eventuali errori che si sono verificati durante la configurazione dell'associazione.
|
PrepareBinding(void)
|
Essere il processo di preparazione dell'associazione per la comunicazione con il collega.
|
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
|
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati per un gruppo di applicazioni Weave specificato.
|
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
|
Imposta la modalità di autenticazione richiesta da utilizzare per autenticare il peer.
|
Security_CASESession(void)
|
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione CASE stabilita con il nodo peer.
|
Security_EncryptionType(uint8_t aEncType)
|
Quando comunichi con il collega, invia e ricevi i messaggi criptati utilizzando il tipo di crittografia specificato per i messaggi.
|
Security_Key(uint32_t aKeyId)
|
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave specificata.
|
Security_None(void)
|
Quando comunichi con il peer, invia e ricevi messaggi non criptati (ad es.
|
Security_PASESession(uint8_t aPasswordSource)
|
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione PASE stabilita con il nodo peer.
|
Security_SharedCASESession(void)
|
Durante la comunicazione con il collega, invia e ricevi messaggi criptati utilizzando una chiave di sessione CASE condivisa stabilita con il router principale Nest.
|
Security_SharedCASESession(uint64_t aRouterNodeId)
|
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione CASE condivisa stabilita con un nodo router specificato.
|
Security_TAKESession()
|
Durante la comunicazione con il peer, invia e ricevi messaggi criptati utilizzando una chiave di sessione TAKE stabilita con il nodo peer.
|
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Quando comunichi con il peer, utilizza l'indirizzo IP, la porta e l'interfaccia di rete specifici.
|
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Quando comunichi con il peer, utilizza il nome host, la porta e l'interfaccia di rete specifici.
|
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
|
Quando comunichi con il peer, utilizza il nome host, la porta e l'interfaccia di rete specifici.
|
TargetAddress_WeaveFabric(uint16_t aSubnetId)
|
Durante la comunicazione con il peer, utilizza un indirizzo della struttura Weave derivato dall'ID nodo del peer e da una subnet specificata.
|
TargetAddress_WeaveService(void)
|
Durante la comunicazione con il peer, utilizza un indirizzo della struttura di servizi Weave derivato dall'ID nodo del peer.
|
Target_NodeId(uint64_t aPeerNodeId)
|
Configura l'associazione in modo che comunichi con un ID nodo Weave specifico.
|
Target_ServiceEndpoint(uint64_t aPeerNodeId)
|
Configura l'associazione per comunicare con un endpoint di servizio Weave specifico.
|
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
|
Imposta la configurazione WRMP predefinita per i contesti di scambio creati da questo oggetto Binding.
|
Transport_ExistingConnection(WeaveConnection *apConnection)
|
Utilizza una connessione Weave esistente per comunicare con il peer.
|
Transport_TCP(void)
|
Utilizza TCP per comunicare con il peer.
|
Transport_UDP(void)
|
Utilizza UDP per comunicare con il peer.
|
Transport_UDP_PathMTU(uint32_t aPathMTU)
|
Imposta la MTU del percorso previsto per i pacchetti UDP che viaggiano verso il peer.
|
Transport_UDP_WRM(void)
|
Utilizza il protocollo Weave Reliable Messaging per comunicare con il tuo collega.
|
Funzioni pubbliche
ConfigureFromMessage
Configuration & ConfigureFromMessage( const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo )
Configura l'associazione per consentire la comunicazione con il mittente di un messaggio ricevuto.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
DNS_Options
Configuration & DNS_Options( uint8_t dnsOptions )
Per risolvere il nome host del peer, utilizza le opzioni DNS specificate.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Exchange_ResponseTimeoutMsec
Configuration & Exchange_ResponseTimeoutMsec( uint32_t aResponseTimeoutMsec )
Imposta il timeout predefinito della risposta per i contesti di scambio creati da questo oggetto Binding.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
GetError
WEAVE_ERROR GetError( void ) const
Restituisce gli eventuali errori che si sono verificati durante la configurazione dell'associazione.
PrepareBinding
WEAVE_ERROR PrepareBinding( void )
Essere il processo di preparazione dell'associazione per la comunicazione con il collega.
Security_AppGroupKey
Configuration & Security_AppGroupKey( uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey )
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati per un gruppo di applicazioni Weave specificato.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
Un riferimento all'oggetto Binding.
|
Security_AuthenticationMode
Configuration & Security_AuthenticationMode( WeaveAuthMode aAuthMode )
Imposta la modalità di autenticazione richiesta da utilizzare per autenticare il peer.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto Binding.
|
Security_CASESession
Configuration & Security_CASESession( void )
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione CASE stabilita con il nodo peer.
Se la sessione necessaria non è disponibile, verrà stabilita automaticamente durante la preparazione dell'associazione.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Security_EncryptionType
Configuration & Security_EncryptionType( uint8_t aEncType )
Quando comunichi con il collega, invia e ricevi i messaggi criptati utilizzando il tipo di crittografia specificato per i messaggi.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto Binding.
|
Security_Key
Configuration & Security_Key( uint32_t aKeyId )
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave specificata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto Binding.
|
Security_None
Configuration & Security_None( void )
Quando comunichi con il peer, invia e ricevi messaggi non criptati (ad es.
non protetti).
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Security_PASESession
Configuration & Security_PASESession( uint8_t aPasswordSource )
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione PASE stabilita con il nodo peer.
Se la sessione necessaria non è disponibile, verrà stabilita automaticamente durante la preparazione dell'associazione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( void )
Durante la comunicazione con il collega, invia e ricevi messaggi criptati utilizzando una chiave di sessione CASE condivisa stabilita con il router principale Nest.
Se la sessione necessaria non è disponibile, verrà stabilita automaticamente durante la preparazione dell'associazione.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Security_SharedCASESession
Configuration & Security_SharedCASESession( uint64_t aRouterNodeId )
Durante la comunicazione con il peer, invia e ricevi i messaggi criptati utilizzando una chiave di sessione CASE condivisa stabilita con un nodo router specificato.
Se la sessione necessaria non è disponibile, verrà stabilita automaticamente durante la preparazione dell'associazione.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Security_TAKESession
Configuration & Security_TAKESession()
Durante la comunicazione con il peer, invia e ricevi messaggi criptati utilizzando una chiave di sessione TAKE stabilita con il nodo peer.
Se la sessione necessaria non è disponibile, verrà stabilita automaticamente durante la preparazione dell'associazione.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
TargetAddress_IP
Configuration & TargetAddress_IP( nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId )
Quando comunichi con il peer, utilizza l'indirizzo IP, la porta e l'interfaccia di rete specifici.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
Un riferimento all'oggetto di associazione.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId )
Quando comunichi con il peer, utilizza il nome host, la porta e l'interfaccia di rete specifici.
NOTA: il chiamante deve assicurarsi che la stringa del nome host fornita rimanga valida fino al completamento della fase di preparazione dell'associazione.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
Un riferimento all'oggetto di associazione.
|
TargetAddress_IP
Configuration & TargetAddress_IP( const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId )
Quando comunichi con il peer, utilizza il nome host, la porta e l'interfaccia di rete specifici.
NOTA: il chiamante deve assicurarsi che la stringa del nome host fornita rimanga valida fino al completamento della fase di preparazione dell'associazione.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Restituisce |
Un riferimento all'oggetto di associazione.
|
TargetAddress_WeaveFabric
Configuration & TargetAddress_WeaveFabric( uint16_t aSubnetId )
Durante la comunicazione con il peer, utilizza un indirizzo della struttura Weave derivato dall'ID nodo del peer e da una subnet specificata.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
TargetAddress_WeaveService
Configuration & TargetAddress_WeaveService( void )
Durante la comunicazione con il peer, utilizza un indirizzo della struttura di servizi Weave derivato dall'ID nodo del peer.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Target_NodeId
Configuration & Target_NodeId( uint64_t aPeerNodeId )
Configura l'associazione in modo che comunichi con un ID nodo Weave specifico.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Target_ServiceEndpoint
Configuration & Target_ServiceEndpoint( uint64_t aPeerNodeId )
Configura l'associazione per comunicare con un endpoint di servizio Weave specifico.
Se non viene configurato diversamente, l'indirizzo peer viene impostato sull'indirizzo della struttura di Weave dell'endpoint di servizio.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_DefaultWRMPConfig
Configuration & Transport_DefaultWRMPConfig( const WRMPConfig & aWRMPConfig )
Imposta la configurazione WRMP predefinita per i contesti di scambio creati da questo oggetto Binding.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_ExistingConnection
Configuration & Transport_ExistingConnection( WeaveConnection *apConnection )
Utilizza una connessione Weave esistente per comunicare con il peer.
NOTA: il conteggio dei riferimenti sull'oggetto di connessione viene incrementato una volta completata la preparazione dell'associazione. Di conseguenza, l'applicazione è responsabile di garantire che l'oggetto di connessione rimanga attivo fino a quel momento.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_TCP
Configuration & Transport_TCP( void )
Utilizza TCP per comunicare con il peer.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_UDP
Configuration & Transport_UDP( void )
Utilizza UDP per comunicare con il peer.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_UDP_PathMTU
Configuration & Transport_UDP_PathMTU( uint32_t aPathMTU )
Imposta la MTU del percorso previsto per i pacchetti UDP che viaggiano verso il peer.
Per alcuni protocolli Weave, questa opzione verrà utilizzata per regolare dinamicamente la dimensione del payload dei messaggi Weave.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un riferimento all'oggetto di associazione.
|
Transport_UDP_WRM
Configuration & Transport_UDP_WRM( void )
Utilizza il protocollo Weave Reliable Messaging per comunicare con il tuo collega.
Dettagli | |
---|---|
Restituisce |
Un riferimento all'oggetto di associazione.
|