nl::Weave::Binding::Configuration

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

Fournit une interface de style déclaratif permettant de configurer et de préparer un objet Binding.

Résumé

Lors de la configuration d'une liaison, les applications doivent appeler au moins une méthode à partir de chacun des groupes de configuration suivants: Cible, Transport et Sécurité. D'autres méthodes peuvent être appelées si nécessaire pour remplacer le comportement par défaut.

Si des configurations mutuellement exclusives sont appelées (par exemple, Transport_TCP() suivi de Transport_UDP()), le dernier élément à appeler l'emporte.

Fonctions publiques

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Configurez la liaison pour autoriser la communication avec l'expéditeur d'un message reçu.
DNS_Options(uint8_t dnsOptions)
Lors de la résolution du nom d'hôte du pair, utilisez les options DNS spécifiées.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Définissez le délai avant expiration par défaut de la réponse pour les contextes d'échange créés à partir de cet objet Liaison.
GetError(void) const
Renvoie toute erreur qui s'est produite lors de la configuration de la liaison.
PrepareBinding(void)
Processus de préparation de la liaison pour la communication avec le pair.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés pour un groupe d'applications Weave spécifié.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Définissez le mode d'authentification demandé à utiliser pour authentifier le pair.
Security_CASESession(void)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE établie avec le nœud pair.
Security_EncryptionType(uint8_t aEncType)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide du type de chiffrement de message spécifié.
Security_Key(uint32_t aKeyId)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé spécifiée.
Security_None(void)
Lors de la communication avec le pair, l'envoi et la réception ne sont pas chiffrés
Security_PASESession(uint8_t aPasswordSource)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session PASE établie avec le nœud pair.
Security_SharedCASESession(void)
Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE partagée établie avec le routeur Nest Core.
Security_SharedCASESession(uint64_t aRouterNodeId)
Lors de la communication avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE partagée établie avec un nœud de routeur spécifié.
Security_TAKESession()
Lors de la communication avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session TAKE établie avec le nœud pair.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Lorsque vous communiquez avec le pair, utilisez l'adresse IP, le port et l'interface réseau spécifiques.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Pour communiquer avec le pair, utilisez le nom d'hôte, le port et l'interface réseau concernés.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Pour communiquer avec le pair, utilisez le nom d'hôte, le port et l'interface réseau concernés.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
Pour communiquer avec le pair, utilisez une adresse Weave Fabri provenant de l'ID de nœud du pair et d'un sous-réseau spécifié.
TargetAddress_WeaveService(void)
Pour communiquer avec le pair, utilisez une adresse de maillage de services Weave dérivée de l'ID de nœud du pair.
Target_NodeId(uint64_t aPeerNodeId)
Configurez la liaison pour communiquer avec un ID de nœud Weave spécifique.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
Configurez la liaison pour communiquer avec un point de terminaison de service Weave spécifique.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
Définissez la configuration WRMP par défaut pour les contextes d'échange créés à partir de cet objet Liaison.
Transport_ExistingConnection(WeaveConnection *apConnection)
Utilisez une connexion Weave existante pour communiquer avec le pair.
Transport_TCP(void)
Utilisez le protocole TCP pour communiquer avec le pair.
Transport_UDP(void)
Utilisez le protocole UDP pour communiquer avec le pair.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Définissez la MTU du chemin attendu pour les paquets UDP envoyés vers le pair.
Transport_UDP_WRM(void)
Utilisez le protocole de messagerie fiable Weave lorsque vous communiquez avec le pair.

Fonctions publiques

ConfigureFromMessage

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

Configurez la liaison pour autoriser la communication avec l'expéditeur d'un message reçu.

Détails
Paramètres
[in] aMsgInfo
Structure des informations sur le message reçu.
[in] aPacketInfo
Informations sur les paquets du message reçu.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Lors de la résolution du nom d'hôte du pair, utilisez les options DNS spécifiées.

Détails
Paramètres
[in] dnsOptions
Valeur entière contrôlant la façon dont la résolution du nom d'hôte est effectuée. La valeur doit être l'une des valeurs de l'énumération #::nl::Inet::DNSOptions.
Renvoie
Référence à l'objet de liaison.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Définissez le délai avant expiration par défaut de la réponse pour les contextes d'échange créés à partir de cet objet Liaison.

Détails
Paramètres
[in] aResponseTimeoutMsec
Temps de réponse par défaut, en millisecondes.
Renvoie
Référence à l'objet de liaison.

GetError

WEAVE_ERROR GetError(
  void
) const 

Renvoie toute erreur qui s'est produite lors de la configuration de la liaison.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Processus de préparation de la liaison pour la communication avec le pair.

Security_AppGroupKey

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

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés pour un groupe d'applications Weave spécifié.

Détails
Paramètres
[in] aAppGroupGlobalId
ID global du groupe d'applications pour lequel les messages doivent être chiffrés.
[in] aRootKeyId
Clé racine utilisée pour déduire les clés de chiffrement pour le groupe d'applications Weave spécifié.
[in] aUseRotatingKey
"True" si le groupe d'applications Weave utilise la rotation des clés de message.
Renvoie
Référence à l'objet Binding.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Définissez le mode d'authentification demandé à utiliser pour authentifier le pair.

Détails
Paramètres
[in] aAuthMode
Mode d'authentification demandé.
Renvoie
Référence à l'objet Binding.

Security_CASESession

Configuration & Security_CASESession(
  void
)

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE établie avec le nœud pair.

Si la session nécessaire n'est pas disponible, elle sera établie automatiquement lors de la préparation de la liaison.

Détails
Renvoie
Référence à l'objet de liaison.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide du type de chiffrement de message spécifié.

Détails
Paramètres
[in] aEncType
Type de chiffrement du message Weave.
Renvoie
Référence à l'objet Binding.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé spécifiée.

Détails
Paramètres
[in] aKeyId
Identifiant de la clé de chiffrement. La clé spécifiée doit être adaptée au chiffrement des messages Weave.
Renvoie
Référence à l'objet Binding.

Security_None

Configuration & Security_None(
  void
)

Lors de la communication avec le pair, l'envoi et la réception ne sont pas chiffrés

non sécurisés).

Détails
Renvoie
Référence à l'objet de liaison.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session PASE établie avec le nœud pair.

Si la session nécessaire n'est pas disponible, elle sera établie automatiquement lors de la préparation de la liaison.

Détails
Paramètres
[in] aPasswordSource
Source du mot de passe à utiliser lors de l'établissement de la session PASE.
Renvoie
Référence à l'objet de liaison.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Lorsque vous communiquez avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE partagée établie avec le routeur Nest Core.

Si la session nécessaire n'est pas disponible, elle sera établie automatiquement lors de la préparation de la liaison.

Détails
Renvoie
Référence à l'objet de liaison.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Lors de la communication avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session CASE partagée établie avec un nœud de routeur spécifié.

Si la session nécessaire n'est pas disponible, elle sera établie automatiquement lors de la préparation de la liaison.

Détails
Paramètres
[in] aRouterNodeId
ID de nœud Weave du routeur avec lequel la session CASE partagée doit être établie.
Renvoie
Référence à l'objet de liaison.

Security_TAKESession

Configuration & Security_TAKESession()

Lors de la communication avec le pair, envoyez et recevez des messages chiffrés à l'aide d'une clé de session TAKE établie avec le nœud pair.

Si la session nécessaire n'est pas disponible, elle sera établie automatiquement lors de la préparation de la liaison.

Détails
Renvoie
Référence à l'objet de liaison.

TargetAddress_IP

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

Lorsque vous communiquez avec le pair, utilisez l'adresse IP, le port et l'interface réseau spécifiques.

Détails
Paramètres
[in] aPeerAddress
Adresse IP du pair
[in] aPeerPort
Port distant
[in] aInterfaceId
ID de l'interface réseau locale à utiliser pour la communication
Renvoie
Référence à l'objet de liaison.

TargetAddress_IP

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

Pour communiquer avec le pair, utilisez le nom d'hôte, le port et l'interface réseau concernés.

REMARQUE: L'appelant doit s'assurer que la chaîne du nom d'hôte fournie reste valide jusqu'à la fin de la phase de préparation de la liaison.

Détails
Paramètres
[in] aHostName
Chaîne se terminant par une valeur NULL contenant le nom d'hôte du pair.
[in] aPeerPort
Port distant à utiliser pour communiquer avec le pair.
[in] aInterfaceId
ID de l'interface réseau locale à utiliser pour la communication.
Renvoie
Référence à l'objet de liaison.

TargetAddress_IP

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

Pour communiquer avec le pair, utilisez le nom d'hôte, le port et l'interface réseau concernés.

REMARQUE: L'appelant doit s'assurer que la chaîne du nom d'hôte fournie reste valide jusqu'à la fin de la phase de préparation de la liaison.

Détails
Paramètres
[in] aHostName
Chaîne qui contient le nom d'hôte du pair. Il n'est pas nécessaire que cette chaîne se termine en mode NULL.
[in] aHostNameLen
Longueur de la chaîne indiquée par aHostName.
[in] aPeerPort
Port distant à utiliser pour communiquer avec le pair.
[in] aInterfaceId
ID de l'interface réseau locale à utiliser pour la communication.
Renvoie
Référence à l'objet de liaison.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Pour communiquer avec le pair, utilisez une adresse Weave Fabri provenant de l'ID de nœud du pair et d'un sous-réseau spécifié.

Détails
Paramètres
[in] aSubnetId
ID de sous-réseau à utiliser pour former l'adresse Weave fabric du pair.
Renvoie
Référence à l'objet de liaison.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Pour communiquer avec le pair, utilisez une adresse de maillage de services Weave dérivée de l'ID de nœud du pair.

Détails
Renvoie
Référence à l'objet de liaison.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Configurez la liaison pour communiquer avec un ID de nœud Weave spécifique.

Détails
Paramètres
[in] aPeerNodeId
ID du nœud du pair.
Renvoie
Référence à l'objet de liaison.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Configurez la liaison pour communiquer avec un point de terminaison de service Weave spécifique.

Si elle n'est pas configurée autrement, l'adresse du pair est définie sur l'adresse Weave fabric du point de terminaison du service.

Détails
Paramètres
[in] serviceEndpointId
ID de nœud du point de terminaison du service avec lequel la communication a lieu.
Renvoie
Référence à l'objet de liaison.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Définissez la configuration WRMP par défaut pour les contextes d'échange créés à partir de cet objet Liaison.

Détails
Paramètres
[in] aWRMPConfig
Référence à la nouvelle configuration WRMP par défaut.
Renvoie
Référence à l'objet de liaison.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Utilisez une connexion Weave existante pour communiquer avec le pair.

REMARQUE: Le nombre de références sur l'objet de connexion est incrémenté lorsque la préparation de la liaison aboutit. Ainsi, l'application doit s'assurer que l'objet de connexion reste actif jusqu'à cette date.

Détails
Paramètres
[in] con
Pointeur vers la connexion Weave existante.
Renvoie
Référence à l'objet de liaison.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Utilisez le protocole TCP pour communiquer avec le pair.

Détails
Renvoie
Référence à l'objet de liaison.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Utilisez le protocole UDP pour communiquer avec le pair.

Détails
Renvoie
Référence à l'objet de liaison.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Définissez la MTU du chemin attendu pour les paquets UDP envoyés vers le pair.

Pour certains protocoles Weave, cette option permet d'ajuster dynamiquement la taille de la charge utile des messages Weave.

Détails
Paramètres
[in] aPathMTU
MTU du chemin attendu pour les paquets UDP envoyés vers le pair.
Renvoie
Référence à l'objet de liaison.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Utilisez le protocole de messagerie fiable Weave lorsque vous communiquez avec le pair.

Détails
Renvoie
Référence à l'objet de liaison.