nl::Weave::WeaveConnection

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

Définition de la classe de connexion Weave.

Résumé

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

Types publics

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Cette fonction est le rappel de l'application qui est invoqué lorsqu'une connexion est fermée.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Cette fonction est le rappel d'application qui est invoqué une fois la configuration d'une connexion terminée.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Cette fonction est le rappel de l'application qui est invoqué lorsqu'un message est reçu via une connexion Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
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é lorsqu'une erreur se produit 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
}
enum
État de l'objet de connexion Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Cette fonction est le rappel de l'application qui est invoqué à la réception d'un paquet de données en tunnel sur la connexion Weave.

Attributs publics

AppState
void *
Pointeur vers l'objet d'état spécifique à l'application.
AuthMode
WeaveAuthMode
[LECTURE SEULE] 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
[LECTURE SEULE] L'objet WeaveMessageLayer associé.
NetworkType
uint8_t
[LECTURE SEULE] Type de réseau du point d'arrivée associé.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[LECTURE SEULE] Adresse IP du nœud pair.
PeerNodeId
uint64_t
[LECTURE SEULE] Identifiant de nœud du pair.
PeerPort
uint16_t
[LECTURE SEULE] 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 encodé explicitement. Sinon, la valeur "false" est définie.
SendSourceNodeId
bool
"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud source encodé explicitement. Sinon, la valeur "false" est définie.
State
uint8_t
[LECTURE SEULE] État de l'objet WeaveConnection.

Fonctions publiques

Abort(void)
void
Effectue une fermeture intempestive du WeaveConnection basé sur TCP ou BLE, supprimant 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 progressive non bloquante de la connexion WeaveConnection basée sur TCP ou BLE, 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 progressive non bloquante de la connexion WeaveConnection basée sur TCP ou BLE, 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 fabric 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 de type 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 chaîne de pairs adresse.
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 chaîne de pairs adresse.
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 nom 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 nom d'hôte et de ports.
DisableKeepAlive(void)
DisableReceive(void)
void
Désactivez la réception via 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
Diminuez le nombre de références de 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 tunnelisé via une connexion Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Définissez un délai avant expiration pour que Connect soit réussi 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 d'envoi TCP en douceur, garantissant 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 de l'application qui est invoqué lorsqu'une connexion est fermée.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] conErr
WEAVE_ERROR s'est produite lorsque la connexion a été fermée.

ConnectionCompleteFunct

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

Cette fonction est le rappel d'application qui est invoqué une fois la configuration d'une connexion terminée.

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

MessageReceiveFunct

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

Cette fonction est le rappel de l'application qui est 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é lorsqu'une erreur se produit lors de la réception d'un message Weave.

Détails
Paramètres
[in] con
Pointeur vers l'objet WeaveConnection.
[in] err
WEAVE_ERROR s'est produite 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

Indique quand la connexion est fermée.

kState_Connected

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

kState_Connecting

État lors d'une tentative de connexion.

kState_EstablishingSession

État lorsqu'une session sécurisée est en cours d'établissement

kState_ReadyToConnect

État après l'initialisation de la connexion Weave.

kState_Resolving

État lors de la résolution de noms DNS en cours d'exécution.

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 de l'application qui est invoqué à la réception d'un paquet de données en tunnel sur la connexion Weave.

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

Attributs publics

AppState

void * AppState

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

AuthMode

WeaveAuthMode AuthMode

[LECTURE SEULE] 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

[LECTURE SEULE] L'objet WeaveMessageLayer associé.

NetworkType

uint8_t NetworkType

[LECTURE SEULE] Type de réseau du point d'arrivée associé.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[LECTURE SEULE] Adresse IP du nœud pair.

PeerNodeId

uint64_t PeerNodeId

[LECTURE SEULE] Identifiant de nœud du pair.

PeerPort

uint16_t PeerPort

[LECTURE SEULE] 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 encodé explicitement. Sinon, la valeur "false" est définie.

SendSourceNodeId

bool SendSourceNodeId

"True" si tous les messages envoyés via cette connexion doivent inclure un identifiant de nœud source encodé explicitement. Sinon, la valeur "false" est définie.

État

uint8_t State

[LECTURE SEULE] État de l'objet WeaveConnection.

Fonctions publiques

Annuler

void Abort(
  void
)

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

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

Appeler Abort() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte ou active 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 avoir d'interactions 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 progressive non bloquante de la connexion WeaveConnection basée sur TCP ou BLE, 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 que tout message sortant non confirmé au niveau du protocole de l'application a été reçu par le pair distant. Pour TCP et BLE, la pile de protocoles sous-jacente fera de son mieux pour fournir toutes les données sortantes en attente avant de réinitialiser la connexion. Pour TCP, Shutdown() doit être utilisée avant Close() si une confirmation de réception d'un 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 la classe WeaveConnection et renvoie immédiatement un résultat. Toutefois, l'objet BLEEndPoint sous-jacent peut persister jusqu'à ce que toutes les données sortantes aient été envoyées. Il s'agit d'un effet secondaire de l'implémentation du protocole de transport Weave sur BLE existante dans la couche blanche Weave.

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

Appeler Close() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte ou active au moment où la méthode est appelée. 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 avoir d'interactions 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 progressive non bloquante de la connexion WeaveConnection basée sur TCP ou BLE, 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 que tout message sortant non confirmé au niveau du protocole de l'application a été reçu par le pair distant. Pour TCP et BLE, la pile de protocoles sous-jacente fera de son mieux pour fournir toutes les données sortantes en attente avant de réinitialiser la connexion. Pour TCP, Shutdown() doit être utilisée avant Close() si une confirmation de réception d'un 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 la classe WeaveConnection et renvoie immédiatement un résultat. Toutefois, l'objet BLEEndPoint sous-jacent peut persister jusqu'à ce que toutes les données sortantes aient été envoyées. Il s'agit d'un effet secondaire de l'implémentation du protocole de transport Weave sur BLE existante dans la couche blanche Weave.

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

Appeler Close() décrémente le nombre de références associé à l'objet WeaveConnection, que la connexion soit ouverte ou active au moment où la méthode est appelée. 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 avoir d'interactions avec l'objet.

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

Associer

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 de nœud du pair : kNodeIdNotSpecified ou 0 si ce paramètre est inconnu.
[in] peerAddr
Adresse IP du pair, IPAddress::Any si elle est inconnue.
[in] peerPort
Port facultatif du pair. Valeur par défaut : WEAVE_PORT.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 de nœud du pair : kNodeIdNotSpecified ou 0 si ce paramètre est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et non authentifié sont acceptés.
[in] peerAddr
Adresse IP du pair, IPAddress::Any si elle est inconnue.
[in] peerPort
Port facultatif du pair. Valeur par défaut : WEAVE_PORT.
[in] intf
Interface facultative à utiliser pour se connecter au nœud pair. Valeur par défaut : INET_NULL_INTERFACEID.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 de type chaîne.

Si elle est fournie, "peerAddr" peut être n'importe lequel des suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair : kNodeIdNotSpecified ou 0 si ce paramètre est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et non authentifié sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous forme de chaîne C se terminant par une valeur NULL.
[in] defaultPort
Port par défaut facultatif à utiliser pour la connexion s'il n'est pas fourni dans la chaîne peerAddr.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 chaîne de pairs adresse.

Si elle est fournie, "peerAddr" peut être n'importe lequel des suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair : kNodeIdNotSpecified ou 0 si ce paramètre est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et non authentifié sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous forme de chaîne C non-terminée en valeur 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 de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 chaîne de pairs adresse.

Si elle est fournie, "peerAddr" peut être n'importe lequel des suivants:


:

:

[]:

Détails
Paramètres
[in] peerNodeId
Identifiant de nœud du pair : kNodeIdNotSpecified ou 0 si ce paramètre est inconnu.
[in] authMode
Mode d'authentification souhaité pour le pair. Seuls les modes CASE, PASE et non authentifié sont acceptés.
[in] peerAddr
Adresse ou nom d'hôte du pair sous forme de chaîne C non-terminée en valeur NULL.
[in] peerAddrLen
Longueur de la chaîne peerAddr.
[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'opérateur OR 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 de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 nom d'hôte et de ports.

Détails
Paramètres
[in] peerNodeId
Identifiant de 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. Valeur par défaut : INET_NULL_INTERFACEID.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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.

Associer

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 nom d'hôte et de ports.

Détails
Paramètres
[in] peerNodeId
Identifiant de 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 façon dont la résolution du nom d'hôte est effectuée. La valeur doit être l'opérateur OR 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. Valeur par défaut : INET_NULL_INTERFACEID.
Valeurs de retour
WEAVE_NO_ERROR
si la connexion avec le pair a été initiée.
WEAVE_ERROR_INCORRECT_STATE
si l'état de 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ésactivez les vérifications keepalive TCP 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 l'état de la connexion permet 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 de retour
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 dans l'état approprié pour envoyer des messages.
other
Les erreurs de couche inet liées au point de terminaison TCP activent l'opération keepalive.

DisableReceive

void DisableReceive(
  void
)

Désactivez la réception via WeaveConnection.

Cette méthode permet à l'application d'indiquer qu'elle n'est pas prête à recevoir les données arrivées via la connexion TCP. Afin de réactiver la réception, l'application doit appeler EnableReceive() pour permettre à WeaveConnection de transmettre 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 keepalive TCP 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 l'état de la connexion permet l'envoi.

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

- Cette méthode peut être appelée plusieurs fois pour ajuster l'intervalle des messages keepalive ou le nombre de délais avant expiration.

Détails
Valeurs de retour
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 dans l'état approprié pour envoyer des messages.
other
Les erreurs de couche inet liées au point de terminaison TCP activent l'opération keepalive.

EnableReceive

void EnableReceive(
  void
)

Activer la réception via WeaveConnection.

Cette méthode permet à l'application d'indiquer à l'objet WeaveConnection qu'il est prêt à recevoir toutes les données arrivant via 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 de retour
WEAVE_NO_ERROR
Pour la 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 à celle de kGetPeerDescription_MaxLength. Si vous fournissez un tampon plus petit, la chaîne sera tronquée. Le résultat inclut un caractère de fin NUL dans tous les cas.
[in] bufSize
Taille du tampon indiqué par buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Version

void Release(
  void
)

Diminuez le nombre de références de 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 avoir d'interactions avec l'objet.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout ;

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

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 l'état de la connexion permet l'envoi.

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

Détails
Valeurs de retour
WEAVE_NO_ERROR
sur la réinitialisation réussie du délai 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 dans l'état approprié pour envoyer des 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 de retour
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 dans l'état approprié pour envoyer des 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 d'interne liées aux opérations spécifiques d'envoi de points de terminaison.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Envoyer un message Weave tunnelisé 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 de retour
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 dans l'état approprié pour envoyer des 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 d'interne liées aux opérations spécifiques d'envoi de points de terminaison.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Définissez un délai avant expiration pour que Connect soit réussi 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 de retour
WEAVE_NO_ERROR
si le délai d'inactivité de la connexion a été correctement défini.
WEAVE_ERROR_INCORRECT_STATE
si l'objet WeaveConnection n'est pas dans 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 de socket pour le délai d'expiration de l'utilisateur TCP.

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

Détails
Paramètres
[in] userTimeoutMillis
Valeur du délai d'attente 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 l'état de la connexion permet l'envoi.

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

Détails
Valeurs de retour
WEAVE_NO_ERROR
si le délai d'attente de l'utilisateur TCP sur la connexion est correctement défini.
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 approprié pour envoyer des messages.
other
Erreurs de couche inet liées au paramètre de point de terminaison TCP du délai avant expiration de l'utilisateur TCP.

Arrêt

WEAVE_ERROR Shutdown(
  void
)

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

Avec la plupart des implémentations TCP (mais pas toutes), la réception d'un arrêt d'envoi entraîne la fermeture de l'hôte distant de son côté de la connexion, entraînant la fermeture de la connexion. Un appel ultérieur à Close() mettra fin à WeaveConnection.

Détails
Valeurs de retour
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'état de l'objet WeaveConnection n'est pas correct avant l'arrêt.
other
Erreurs de couche d'interne liées aux opérations spécifiques d'arrêt des points de terminaison.
Voir aussi:
Close() et Abort().