nl::Weave::WeaveConnection

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

Définition de la classe Weave Connection.

Résumé

Il représente une connexion TCP ou BLE à un autre nœud Weave.

Types publics

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
énum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Cette fonction est le rappel d'application qui est appelé lorsqu'une connexion est fermée.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Cette fonction est le rappel d'application qui est appelé lorsqu'une connexion est configurée.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Cette fonction est le rappel d'application invoqué lorsqu'un message est reçu via une connexion Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
énum
Type de réseau de l'objet de connexion Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Cette fonction est le rappel d'application invoqué en cas d'erreur lors de la réception d'un message Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
énum
État de l'objet de connexion Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Cette fonction est le rappel d'application qui est invoqué à la réception d'un paquet de données acheminé par tunnel via la connexion Weave.

Attributs publics

AppState
void *
Pointeur vers l'objet d'état spécifique à l'application.
AuthMode
WeaveAuthMode
[READ ONLY] Mode d'authentification utilisé pour établir les clés de chiffrement par défaut pour la connexion.
DefaultEncryptionType
uint8_t
Type de chiffrement par défaut des messages.
DefaultKeyId
uint16_t
Clé de chiffrement par défaut à utiliser lors de l'envoi de messages.
MessageLayer
[READ ONLY] Objet WeaveMessageLayer associé.
NetworkType
uint8_t
[READ ONLY] Type de réseau du point de terminaison associé.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] Adresse IP du nœud pair.
PeerNodeId
uint64_t
[READ ONLY] Identifiant du nœud du pair.
PeerPort
uint16_t
[READ ONLY] Numéro de port du nœud pair.
ReceiveEnabled
bool
[READ ONLY] "True" si la réception est activée, "false" dans le cas contraire.
SendDestNodeId
bool
"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud de destination codé explicitement, sinon "false".
SendSourceNodeId
bool
"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud source codé explicitement, sinon "false".
State
uint8_t
[READ ONLY] État de l'objet WeaveConnection.

Fonctions publiques

Abort(void)
void
Effectue une fermeture incorrecte de WeaveConnection basé sur TCP ou BLE, en supprimant toutes les données en cours de transfert vers ou depuis le pair.
AddRef(void)
void
Réservez une référence à l'objet WeaveConnection.
Close(void)
Effectue une fermeture concertée non bloquante de WeaveConnection basée sur TCP ou BLE, en fournissant les données sortantes restantes avant d'informer poliment l'hôte distant que nous avons réinitialisé la connexion.
Close(bool suppressCloseLog)
Effectue une fermeture concertée non bloquante de WeaveConnection basée sur TCP ou BLE, en fournissant les données sortantes restantes avant d'informer poliment l'hôte distant que nous avons réinitialisé la connexion.
Connect(uint64_t peerNodeId)
Connectez-vous à un nœud Weave à l'aide d'une adresse IP de structure dérivée de l'identifiant de nœud spécifié.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse IP sur une interface spécifique.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'un nom d'hôte sous forme de chaîne.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse d'appairage de type chaîne.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse d'appairage de type chaîne.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une liste de noms d'hôte et de ports.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une liste de noms d'hôte et de ports.
DisableKeepAlive(void)
DisableReceive(void)
void
Désactive la réception sur WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Activer la réception via WeaveConnection
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Obtenez les informations sur l'adresse IP du pair.
GetPeerDescription(char *buf, size_t bufSize) const
void
Construit une chaîne décrivant le nœud pair associé à la connexion.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Diminuer le nombre de références sur l'objet WeaveConnection
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envoyez un message Weave via une connexion établie.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Fonction permettant d'envoyer un paquet tunnelé via une connexion Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Définissez un délai d'inactivité pour que Connect aboutisse ou renvoie une erreur.
SetIdleTimeout(uint32_t timeoutMS)
Définissez le délai d'inactivité sur la connexion de la couche réseau sous-jacente.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Effectue un arrêt TCP en douceur, qui garantit que toutes les données sortantes ont été envoyées et reçues par la pile TCP du pair.

Types publics

@58

 @58
Propriétés
kGetPeerDescription_MaxLength

Longueur maximale de la chaîne (caractère NUL compris) renvoyée par GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Cette fonction est le rappel d'application qui est appelé lorsqu'une connexion est fermée.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] conErr
L'erreur WEAVE_ERROR s'est produite lors de la fermeture de la connexion.

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Cette fonction est le rappel d'application qui est appelé lorsqu'une connexion est configurée.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] conErr
WEAVE_ERROR rencontrée lors de la configuration de la connexion.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Cette fonction est le rappel d'application invoqué lorsqu'un message est reçu via une connexion Weave.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] msgInfo
Pointeur vers une structure WeaveMessageInfo contenant des informations sur le message.
[in] msgBuf
Pointeur vers l'objet PacketBuffer contenant le message.

NetworkType

 NetworkType

Type de réseau de l'objet de connexion Weave.

Propriétés
kNetworkType_BLE

Type de réseau BLE.

kNetworkType_IP

Type de réseau TCP/IP

kNetworkType_Unassigned

Type de réseau non attribué.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Cette fonction est le rappel d'application invoqué en cas d'erreur lors de la réception d'un message Weave.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] err
WEAVE_ERROR rencontré lors de la réception de données via la connexion.

État

 State

État de l'objet de connexion Weave.

Propriétés
kState_Closed

État lorsque la connexion est fermée.

kState_Connected

État lorsque la connexion a été établie.

kState_Connecting

État lors de la tentative de connexion.

kState_EstablishingSession

Indique quand une session sécurisée est en cours d'établissement.

kState_ReadyToConnect

État après initialisation de la connexion Weave.

kState_Resolving

État lorsque la résolution de noms DNS est en cours.

kState_SendShutdown

État lorsque la connexion est en cours d'arrêt.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Cette fonction est le rappel d'application qui est invoqué à la réception d'un paquet de données acheminé par tunnel via la connexion Weave.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] msgInfo
Pointeur vers l'objet WeaveMessageInfo.
[in] msgBuf
Pointeur vers l'objet PacketBuffer contenant le paquet transmis par tunnel reçu.

Attributs publics

AppState

void * AppState

Pointeur vers l'objet d'état spécifique à l'application.

AuthMode

WeaveAuthMode AuthMode

[READ ONLY] Mode d'authentification utilisé pour établir les clés de chiffrement par défaut pour la connexion.

DefaultEncryptionType

uint8_t DefaultEncryptionType

Type de chiffrement par défaut des messages.

DefaultKeyId

uint16_t DefaultKeyId

Clé de chiffrement par défaut à utiliser lors de l'envoi de messages.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Objet WeaveMessageLayer associé.

NetworkType

uint8_t NetworkType

[READ ONLY] Type de réseau du point de terminaison associé.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] Adresse IP du nœud pair.

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] Identifiant du nœud du pair.

PeerPort

uint16_t PeerPort

[READ ONLY] Numéro de port du nœud pair.

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] "True" si la réception est activée, "false" dans le cas contraire.

SendDestNodeId

bool SendDestNodeId

"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud de destination codé explicitement, sinon "false".

SendSourceNodeId

bool SendSourceNodeId

"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud source codé explicitement, sinon "false".

État

uint8_t State

[READ ONLY] État de l'objet WeaveConnection.

Fonctions publiques

Annuler

void Abort(
  void
)

Effectue une fermeture incorrecte de WeaveConnection basé sur TCP ou BLE, en supprimant toutes les données en cours de transfert vers ou depuis le pair.

Un appel à Abort() met immédiatement fin à la connexion sous-jacente. Passé ce délai, l'objet WeaveConnection ne peut plus être utilisé pour les communications ultérieures.

L'appel de Abort() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte/active ou non au moment de l'appel de la méthode. Si le nombre de références atteint zéro, les ressources associées à l'objet de connexion sont libérées. Dans ce cas, l'application ne doit plus interagir avec l'objet.

Voir aussi:
Shutdown(), Abort(), AddRef() et Release().

AddRef

void AddRef(
  void
)

Réservez une référence à l'objet WeaveConnection.

La méthode AddRef() incrémente le nombre de références associé à l'objet WeaveConnection. Pour chaque appel à AddRef(), l'application doit effectuer un appel correspondant à Release(), Close() ou Abort().

Fermer

WEAVE_ERROR Close(
  void
)

Effectue une fermeture concertée non bloquante de WeaveConnection basée sur TCP ou BLE, en fournissant les données sortantes restantes avant d'informer poliment l'hôte distant que nous avons réinitialisé la connexion.

Cette méthode ne garantit pas efficacement que tout message sortant non confirmé au niveau du protocole d'application a été reçu par le pair distant. Pour TCP et BLE, la pile de protocole sous-jacente fera de son mieux pour fournir les données sortantes en attente avant de réinitialiser la connexion. Pour TCP, Shutdown() doit être utilisé avant Close() si une confirmation de réception du message de la couche transport est requise avant la fermeture de la connexion. Les connexions BLE ne fournissent aucun équivalent Shutdown().

Pour les connexions basées sur BLE, Close() ferme WeaveConnection et renvoie immédiatement un résultat, mais peut entraîner la persistance de l'objet BLEEndPoint sous-jacent jusqu'à l'envoi de toutes les données sortantes. Il s'agit d'un effet secondaire de l'implémentation du protocole de transport Weave sur BLE existante dans la BleLayer Weave.

Une fois Close() appelé, l'objet WeaveConnection ne peut plus être utilisé pour toute communication ultérieure.

L'appel de Close() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte/active ou non au moment de l'appel de la méthode. Si le nombre de références atteint zéro, les ressources associées à l'objet de connexion sont libérées. Dans ce cas, l'application ne doit plus interagir avec l'objet.

Détails
Renvoie
WEAVE_NO_ERROR de manière inconditionnelle.
Voir aussi:
Shutdown(), Abort(), AddRef() et Release().

Fermer

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Effectue une fermeture concertée non bloquante de WeaveConnection basée sur TCP ou BLE, en fournissant les données sortantes restantes avant d'informer poliment l'hôte distant que nous avons réinitialisé la connexion.

Cette méthode ne garantit pas efficacement que tout message sortant non confirmé au niveau du protocole d'application a été reçu par le pair distant. Pour TCP et BLE, la pile de protocole sous-jacente fera de son mieux pour fournir les données sortantes en attente avant de réinitialiser la connexion. Pour TCP, Shutdown() doit être utilisé avant Close() si une confirmation de réception du message de la couche transport est requise avant la fermeture de la connexion. Les connexions BLE ne fournissent aucun équivalent Shutdown().

Pour les connexions basées sur BLE, Close() ferme WeaveConnection et renvoie immédiatement un résultat, mais peut entraîner la persistance de l'objet BLEEndPoint sous-jacent jusqu'à l'envoi de toutes les données sortantes. Il s'agit d'un effet secondaire de l'implémentation du protocole de transport Weave sur BLE existante dans la BleLayer Weave.

Une fois Close() appelé, l'objet WeaveConnection ne peut plus être utilisé pour toute communication ultérieure.

L'appel de Close() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte/active ou non au moment de l'appel de la méthode. Si le nombre de références atteint zéro, les ressources associées à l'objet de connexion sont libérées. Dans ce cas, l'application ne doit plus interagir avec l'objet.

Détails
Paramètres
[in] suppressCloseLog
"true" si les journaux doivent être supprimés, "false" dans le cas contraire.
Renvoie
WEAVE_NO_ERROR de manière inconditionnelle.
Voir aussi:
Shutdown(), Abort(), AddRef() et Release().

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Connectez-vous à un nœud Weave à l'aide d'une adresse IP de structure dérivée de l'identifiant de nœud spécifié.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse IP.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair, kNodeIdNotSpecified ou 0 si ce champ est inconnu.
[in] peerAddr
Adresse IP du pair (IPAddress::Any) si cette adresse est inconnue.
[in] peerPort
Port facultatif du pair, défini par défaut sur WEAVE_PORT.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse IP sur une interface spécifique.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair, kNodeIdNotSpecified ou 0 si ce champ est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et Unauthenticated sont acceptés.
[in] peerAddr
Adresse IP du pair (IPAddress::Any) si cette adresse est inconnue.
[in] peerPort
Port facultatif du pair, défini par défaut sur WEAVE_PORT.
[in] intf
Interface facultative à utiliser pour se connecter au nœud pair, définie par défaut sur INET_NULL_INTERFACEID.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'identifiant du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'un nom d'hôte sous forme de chaîne.

S'il est fourni, peerAddr peut être l'un des éléments suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair, kNodeIdNotSpecified ou 0 si ce champ est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et Unauthenticated sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous la forme d'une chaîne C se terminant par NULL.
[in] defaultPort
Port par défaut facultatif à utiliser pour la connexion s'il n'est pas fourni dans la chaîne peerAddr.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse d'appairage de type chaîne.

S'il est fourni, peerAddr peut être l'un des éléments suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair, kNodeIdNotSpecified ou 0 si ce champ est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et Unauthenticated sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous forme de chaîne C non NULL.
[in] peerAddrLen
Longueur de la chaîne peerAddr.
[in] defaultPort
Port par défaut facultatif à utiliser pour la connexion s'il n'est pas fourni dans la chaîne peerAddr.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une adresse d'appairage de type chaîne.

S'il est fourni, peerAddr peut être l'un des éléments suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair, kNodeIdNotSpecified ou 0 si ce champ est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et Unauthenticated sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous forme de chaîne C non NULL.
[in] peerAddrLen
Longueur de la chaîne peerAddr.
[in] dnsOptions
Valeur entière contrôlant la manière dont la résolution du nom d'hôte est effectuée. La valeur doit être l'opérateur OU d'une ou de plusieurs valeurs de l'énumération #::nl::Inet::DNSOptions.
[in] defaultPort
Port par défaut facultatif à utiliser pour la connexion s'il n'est pas fourni dans la chaîne peerAddr.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une liste de noms d'hôte et de ports.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair.
[in] authMode
Mode d'authentification utilisé pour la connexion.
[in] hostPortList
Liste des noms d'hôte et des ports.
[in] intf
Interface facultative à utiliser pour se connecter au nœud pair, définie par défaut sur INET_NULL_INTERFACEID.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

Connecter

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Connectez-vous à un nœud Weave à l'aide d'un identifiant de nœud et/ou d'une liste de noms d'hôte et de ports.

Détails
Paramètres
[in] peerNodeId
Identifiant du nœud du pair.
[in] authMode
Mode d'authentification utilisé pour la connexion.
[in] hostPortList
Liste des noms d'hôte et des ports.
[in] dnsOptions
Valeur entière contrôlant la manière dont la résolution du nom d'hôte est effectuée. La valeur doit être l'opérateur OU d'une ou de plusieurs valeurs de l'énumération #::nl::Inet::DNSOptions.
[in] intf
Interface facultative à utiliser pour se connecter au nœud pair, définie par défaut sur INET_NULL_INTERFACEID.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'initiation réussie de la connexion au pair.
WEAVE_ERROR_INCORRECT_STATE
si l'état WeaveConnection est incorrect.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
si le mode d'authentification demandé n'est pas pris en charge.
WEAVE_ERROR_INVALID_ADDRESS
si l'adresse de destination ne peut pas être déduite de l'ID du nœud.
other
Erreurs de couche Inet générées par les opérations de connexion TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Désactiver les vérifications TCP keepalive sur la connexion TCP sous-jacente

Remarque:Cette méthode ne peut être appelée que sur une connexion Weave reposant sur une connexion TCP. Cette méthode ne peut être appelée que lorsque la connexion est dans un état autorisant l'envoi.

Cette méthode n'a aucun effet si les messages keepalive n'ont pas été activés sur la connexion.

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
sur la désactivation réussie des vérifications du message keepalive TCP sur la connexion.
WEAVE_ERROR_NOT_IMPLEMENTED
si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
other
Erreurs de couche inet liées à l'opération d'activation du point de terminaison TCP.

DisableReceive

void DisableReceive(
  void
)

Désactive la réception sur WeaveConnection.

Cette méthode est utilisée par l'application pour indiquer qu'elle n'est pas prête à recevoir des données arrivées via la connexion TCP. Pour réactiver la réception, l'application doit appeler EnableReceive() pour permettre à WeaveConnection de transférer toutes les données reçues en appelant les rappels appropriés.

Voir aussi:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Activer les vérifications TCP keepalive sur la connexion TCP sous-jacente

Remarque:Cette méthode ne peut être appelée que sur une connexion Weave reposant sur une connexion TCP. - Cette méthode ne peut être appelée que lorsque la connexion est dans un état autorisant l'envoi.

Détails
Paramètres
[in] interval
Intervalle (en secondes) entre les vérifications de message keepalive. Cette valeur contrôle également le délai entre le dernier paquet de données envoyé et la transmission de la première vérification de message keepalive.
[in] timeoutCount
Nombre maximal de vérifications non confirmées avant que la connexion soit considérée comme ayant échoué.

- Cette méthode peut être appelée plusieurs fois pour ajuster l'intervalle ou le délai avant expiration du message keepalive.

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
sur l'activation réussie des vérifications du message keepalive TCP sur la connexion.
WEAVE_ERROR_NOT_IMPLEMENTED
si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
other
Erreurs de couche inet liées à l'opération d'activation du point de terminaison TCP.

EnableReceive

void EnableReceive(
  void
)

Activer la réception via WeaveConnection

Cette méthode est utilisée par l'application pour indiquer à l'objet WeaveConnection qu'il est prêt à recevoir toutes les données qui arrivent sur la connexion TCP.

Voir aussi:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Obtenez les informations sur l'adresse IP du pair.

Détails
Paramètres
[out] addrInfo
Référence à l'objet IPPacketInfo.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NOT_IMPLEMENTED
Si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Construit une chaîne décrivant le nœud pair associé à la connexion.

Détails
Paramètres
[in] buf
Pointeur vers un tampon dans lequel la chaîne doit être écrite. La taille du tampon fourni doit être au moins égale à kGetPeerDescription_MaxLength. Si un tampon plus petit est fourni, la chaîne sera tronquée pour s'adapter. Le résultat inclut un caractère de fin NUL dans tous les cas.
[in] bufSize
Taille du tampon indiqué par le tampon.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Version

void Release(
  void
)

Diminuer le nombre de références sur l'objet WeaveConnection

La méthode Release() décrémente le nombre de références associé à l'objet WeaveConnection. Si le nombre de références atteint zéro, la connexion est fermée et l'objet de connexion est libéré. Dans ce cas, l'application ne doit plus interagir avec l'objet.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Réinitialisez l'option du socket du délai d'expiration de l'utilisateur TCP sur la valeur par défaut du système.

Remarque:Cette méthode ne peut être appelée que sur une connexion Weave reposant sur une connexion TCP. - Cette méthode ne peut être appelée que lorsque la connexion est dans un état autorisant l'envoi.

- Cette méthode n'a aucun effet si le délai d'inactivité de l'utilisateur n'a pas été défini sur la connexion.

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
en cas de réinitialisation réussie du délai d'expiration de l'utilisateur TCP sur la connexion.
WEAVE_ERROR_NOT_IMPLEMENTED
si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
other
Erreurs de couche Inet liées à la réinitialisation du point de terminaison TCP du délai avant expiration de l'utilisateur TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envoyez un message Weave via une connexion établie.

Détails
Paramètres
[in] msgInfo
Pointeur vers un objet WeaveMessageInfo.
[in] msgBuf
Pointeur vers l'objet PacketBuffer contenant le paquet à envoyer.
Valeurs renvoyées
WEAVE_NO_ERROR
de l'envoi réussi du message à la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si l'identifiant du nœud de destination n'est pas spécifié.
WEAVE_ERROR_SENDING_BLOCKED
si le message est trop long pour être envoyé.
other
Erreurs de couche Inet liées aux opérations d'envoi spécifiques du point de terminaison.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Fonction permettant d'envoyer un paquet tunnelé via une connexion Weave.

Envoyez un message Weave par tunnel via une connexion établie.

Détails
Paramètres
[in] msgInfo
Pointeur vers un objet WeaveMessageInfo.
[in] msgBuf
Pointeur vers l'objet PacketBuffer contenant le paquet à envoyer.
Valeurs renvoyées
WEAVE_NO_ERROR
de l'envoi réussi du message à la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
si l'identifiant du nœud de destination n'est pas spécifié.
WEAVE_ERROR_SENDING_BLOCKED
si le message est trop long pour être envoyé.
other
Erreurs de couche Inet liées aux opérations d'envoi spécifiques du point de terminaison.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Définissez un délai d'inactivité pour que Connect aboutisse ou renvoie une erreur.

Détails
Paramètres
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Définissez le délai d'inactivité sur la connexion de la couche réseau sous-jacente.

Détails
Paramètres
[in] timeoutMS
le délai avant expiration, en millisecondes.
Valeurs renvoyées
WEAVE_NO_ERROR
si le délai d'inactivité de la connexion est correctement défini.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état approprié pour recevoir des messages.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Définissez l'option du socket de délai avant expiration de l'utilisateur TCP.

Lorsque cette valeur est supérieure à 0, cela indique la durée maximale, en millisecondes, pendant laquelle les données transmises peuvent rester non confirmées avant que le protocole TCP ne ferme de force la connexion correspondante. Si la valeur de l'option est définie sur 0, le protocole TCP utilise la valeur par défaut du système. Pour en savoir plus, consultez le document RFC 5482.

Détails
Paramètres
[in] userTimeoutMillis
Valeur du délai avant expiration de l'utilisateur TCP en millisecondes.

Remarque:Cette méthode ne peut être appelée que sur une connexion Weave reposant sur une connexion TCP. - Cette méthode ne peut être appelée que lorsque la connexion est dans un état autorisant l'envoi.

- Cette méthode peut être appelée plusieurs fois pour ajuster le délai avant expiration de l'utilisateur TCP.

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
en cas de définition réussie du délai d'expiration de l'utilisateur TCP sur la connexion.
WEAVE_ERROR_NOT_IMPLEMENTED
si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas associé à l'état correct pour l'envoi de messages.
other
Erreurs de couche Inet liées au paramètre du point de terminaison TCP du délai avant expiration de l'utilisateur TCP.

Arrêt

WEAVE_ERROR Shutdown(
  void
)

Effectue un arrêt TCP en douceur, qui garantit que toutes les données sortantes ont été envoyées et reçues par la pile TCP du pair.

Dans la plupart des implémentations TCP (mais pas toutes), la réception d’un arrêt d’envoi entraînera également l’arrêt de son côté de la connexion, ce qui entraînera la fermeture de la connexion. Un appel ultérieur à Close() met fin à WeaveConnection.

Détails
Valeurs renvoyées
WEAVE_NO_ERROR
en cas d'arrêt réussi de la connexion tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
si cette fonction est appelée pour un point de terminaison incompatible (par exemple, BLE) dans la couche réseau.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas dans l'état correct avant de lancer un arrêt.
other
Erreurs de couche Inet liées aux opérations spécifiques d'arrêt du point de terminaison.
Voir aussi:
Close() et Abort().