nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Les objets de cette classe représentent les points de terminaison de transport TCP.

Résumé

La couche d'encapsulation Nest encapsule les méthodes d'interaction avec les points de terminaison de transport TCP (sockets SoCK_STREAM sur les systèmes Linux et dérivés de BSD) ou avec les blocs de contrôle du protocole TCP LwIP, car le système est configuré en conséquence.

Héritage

Hérite de: nl::Inet::EndPointBasis

Types publics

@10{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Connecting = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_ReceiveShutdown = 6,
  kState_Closing = 7,
  kState_Closed = 8
}
énum
État dynamique de base du point de terminaison sous-jacent.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Type de fonction de gestion des événements d'acceptation des erreurs d'acceptation de connexion.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Type de fonction de gestion des événements d'établissement de connexion.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Type de fonction de gestion des événements d'établissement de connexion.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Type de connexion reçue avec fonction de gestion des événements.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Type de fonction de gestion des événements de réception de données.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Type de fonction de gestion des événements de transmission de données.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Type de fonction de gestion des événements de réception partielle.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Type de fonction de traitement du signal modifié via SendIdle TCP.

Attributs publics

OnAcceptError
Délégué de la fonction de gestion des événements d'acceptation de connexion du point de terminaison.
OnConnectComplete
Délégué de la fonction de gestion des événements d'établissement de connexion du point de terminaison.
OnConnectionClosed
Délégué de la fonction de gestion des événements de fermeture du point de terminaison.
OnConnectionReceived
Délégué de la fonction de gestion des événements de réception de la connexion du point de terminaison.
OnDataReceived
Délégué de la fonction de gestion des événements de réception de texte des messages du point de terminaison.
OnDataSent
Délégué de gestion de la fonction de gestion des événements de transmission de texte des messages du point de terminaison.
OnPeerClose
Délégué de la fonction de gestion des événements de réception du point de terminaison.
OnTCPSendIdleChanged
Délégué de la fonction de gestion des événements du point de terminaison signalant lorsque l'inactivité du canal d'envoi de la connexion TCP est modifiée.
ReceiveEnabled
bool
Bouton de commande indiquant si l'application reçoit des données
State
enum nl::Inet::TCPEndPoint::@10
État dynamique de base du point de terminaison sous-jacent.

Fonctions publiques

Abort(void)
void
Fermez involontairement le point de terminaison, en d'autres termes, envoyez des paquets RST.
AckReceive(uint16_t len)
Accusez réception du texte du message.
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Liez le point de terminaison à une adresse IP d'interface.
Close(void)
Initialisation complète du protocole TCP, c'est-à-dire terminée avec l'envoi et la réception.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
Établissez une connexion TCP.
DisableKeepAlive(void)
Désactiver le "keep-alive" TCP .
DisableReceive(void)
void
Désactiver la réception.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
Activer le "keep-alive" TCP .
EnableNoDelay(void)
EnableNoDelay
EnableReceive(void)
void
Activer la réception.
Free(void)
void
Lance (ou continue) la fermeture complète du protocole TCP, en ignorant les erreurs.
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
Extraire l'adresse IP et le port TCP du point de terminaison local
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Extraire l'adresse IP et le port TCP du point de terminaison distant
IsConnected(void) const
bool
Déterminez si une connexion TCP est établie.
Listen(uint16_t backlog)
Préparez le point de terminaison pour recevoir des messages TCP.
LogId(void)
uint16_t
Obtenez un identifiant pour le point de terminaison.
MarkActive(void)
void
Noter l'activité, en d'autres termes, réinitialiser le minuteur d'inactivité.
PendingReceiveLength(void)
uint32_t
Extrayez la longueur des données reçues non confirmées.
PendingSendLength(void)
uint32_t
Extrayez la longueur des données en attente de la première transmission.
PutBackReceivedData(Weave::System::PacketBuffer *data)
Remettez le texte du message au début de la file d'attente de réception.
Send(Weave::System::PacketBuffer *data, bool push)
Envoyer le texte du message lors d'une connexion TCP
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Définissez un délai d'inactivité pour que Connect aboutisse ou renvoie une erreur.
SetUserTimeout(uint32_t userTimeoutMillis)
Définissez l'option de socket TCP_USER_TIMEOUT.
Shutdown(void)
Lancer TCP à mi-chemin, en d’autres termes, terminé avec l’envoi.

Types publics

@10

 @10

État dynamique de base du point de terminaison sous-jacent.

Les objets sont initialisés dans l'état de l'état, passez aux états suivants correspondant à une simplification des états de la machine à état de transport TCP.

Remarque:L'énumération d'état kBasisState_Closed est mappée à kState_Ready pour des raisons historiques de compatibilité binaire. Le kState_Closed existant permet d'identifier séparément la distinction entre "pas encore ouvert" et "précédemment ouvert maintenant fermé" qui existait auparavant dans les états kState_Ready et kState_Closed.

Propriétés
kState_Bound

Limité au point de terminaison, mais sans écoute.

kState_Closed

Point de terminaison fermé, prêt à être publié.

kState_Closing

Point de terminaison fermant de manière bidirectionnelle.

kState_Connected

Point de terminaison connecté, prêt pour la transaction.

kState_Connecting

Le point de terminaison tente de se connecter.

kState_Listening

Point de terminaison recevant des connexions.

kState_Ready

Point de terminaison initialisé, mais non lié.

kState_ReceiveShutdown

Le point de terminaison a répondu à une fermeture partielle.

kState_SendShutdown

Le point de terminaison a initié sa fermeture partielle.

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Type de fonction de gestion des événements d'acceptation des erreurs d'acceptation de connexion.

Fournissez une fonction de ce type au membre délégué OnAcceptError pour qu'il traite les événements d'erreur d'acceptation de connexion sur endPoint. L'argument err fournit des détails spécifiques sur le type d'erreur.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] err
Cause de l'erreur.

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Type de fonction de gestion des événements d'établissement de connexion.

Fournissez une fonction de ce type au membre délégué OnConnectComplete pour qu'il traite les événements d'établissement de connexion sur endPoint. L'argument err distingue les connexions réussies des échecs.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] err
INET_NO_ERROR en cas de réussite, sinon un autre code.

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Type de fonction de gestion des événements d'établissement de connexion.

Fournissez une fonction de ce type au membre délégué OnConnectionClosed pour qu'il traite les événements de fermeture de connexion sur endPoint. L'argument err permet de distinguer les terminaisons réussies des échecs.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] err
INET_NO_ERROR en cas de réussite, sinon un autre code.

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

Type de connexion reçue avec fonction de gestion des événements.

Fournissez une fonction de ce type au membre délégué OnConnectionReceived pour qu'il traite les événements de réception de connexion sur listeningEndPoint. Le point de terminaison conEndPoint nouvellement reçu est situé à l'adresse IP peerAddr et au port TCP peerPort.

Détails
Paramètres
[in] listeningEndPoint
Point de terminaison TCP d'écoute.
[in] conEndPoint
Point de terminaison TCP nouvellement reçu.
[in] peerAddr
Adresse IP du pair distant.
[in] peerPort
Port TCP du pair distant.

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

Type de fonction de gestion des événements de réception de données.

Fournissez une fonction de ce type au membre délégué OnDataReceived pour qu'il traite les événements de réception de données sur endPoint, où data est le texte du message reçu.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] data
Données reçues.

Un gestionnaire d'événements de réception de données doit accuser réception des données traitées à l'aide de la méthode AckReceive. La méthode Free sur le tampon de données doit également être appelée, sauf si PutBackReceivedData est utilisé à la place.

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

Type de fonction de gestion des événements de transmission de données.

Fournissez une fonction de ce type au membre délégué OnDataSent pour traiter les événements de transmission de données sur endPoint, où len est la longueur du texte du message ajouté à la fenêtre de transmission TCP, qui peut être envoyé par la pile réseau sous-jacente.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] len
Nombre d'octets ajoutés à la fenêtre de transmission.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Type de fonction de gestion des événements de réception partielle.

Fournissez une fonction de ce type au membre délégué OnPeerClose pour qu'il traite les événements de fermeture de connexion sur endPoint.

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

Type de fonction de traitement du signal modifié via SendIdle TCP.

Fournissez une fonction de ce type au membre délégué OnTCPSendIdleChanged pour qu'il traite l'événement correspondant au changement d'état du canal d'envoi de TCPEndPoint (passage de l'état inactif à celui de non inactif).

Détails
Paramètres
[in] endPoint
Point de terminaison TCP associé à l'événement.
[in] isIdle
"True" si le canal d'envoi du point de terminaison TCP est inactif. Sinon, "false".

Attributs publics

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Délégué de la fonction de gestion des événements d'acceptation de connexion du point de terminaison.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Délégué de la fonction de gestion des événements d'établissement de connexion du point de terminaison.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

Délégué de la fonction de gestion des événements de fermeture du point de terminaison.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

Délégué de la fonction de gestion des événements de réception de la connexion du point de terminaison.

OnDataReceived

OnDataReceivedFunct OnDataReceived

Délégué de la fonction de gestion des événements de réception de texte des messages du point de terminaison.

OnDataSent

OnDataSentFunct OnDataSent

Délégué de gestion de la fonction de gestion des événements de transmission de texte des messages du point de terminaison.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Délégué de la fonction de gestion des événements de réception du point de terminaison.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

Délégué de la fonction de gestion des événements du point de terminaison signalant lorsque l'inactivité du canal d'envoi de la connexion TCP est modifiée.

Les couches supérieures l'utilisent pour prendre les mesures appropriées selon que les données envoyées ont été transmises au pair de manière fiable ou non.

ReceiveEnabled

bool ReceiveEnabled

Bouton de commande indiquant si l'application reçoit des données

État

enum nl::Inet::TCPEndPoint::@10 State

État dynamique de base du point de terminaison sous-jacent.

Les objets sont initialisés dans l'état de l'état, passez aux états suivants correspondant à une simplification des états de la machine à état de transport TCP.

Remarque:L'énumération d'état kBasisState_Closed est mappée à kState_Ready pour des raisons historiques de compatibilité binaire. Le kState_Closed existant permet d'identifier séparément la distinction entre "pas encore ouvert" et "précédemment ouvert maintenant fermé" qui existait auparavant dans les états kState_Ready et kState_Closed.

Fonctions publiques

Annuler

void Abort(
  void
)

Fermez involontairement le point de terminaison, en d'autres termes, envoyez des paquets RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Accusez réception du texte du message.

Utilisez cette méthode pour accuser réception de tout ou partie des données reçues. La sémantique opérationnelle n'est pas définie si la valeur len est supérieure au nombre total de données reçues non confirmées en attente.

Détails
Paramètres
[in] len
le nombre d'octets à accuser réception.
Valeurs renvoyées
INET_NO_ERROR
succès: réception confirmée.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP ne s'ouvre plus.

Lier

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

Liez le point de terminaison à une adresse IP d'interface.

Lie le point de terminaison à l'adresse IP de l'interface réseau spécifiée.

Détails
Paramètres
[in] addrType
La version du protocole de l'adresse IP
[in] addr
L'adresse IP (doit être une adresse d'interface)
[in] port
le port TCP
[in] reuseAddr
option de partage de la liaison avec d'autres points de terminaison
Valeurs renvoyées
INET_NO_ERROR
réussite: point de terminaison lié à l'adresse
INET_ERROR_INCORRECT_STATE
le point de terminaison a déjà été lié
INET_NO_MEMORY
Mémoire insuffisante pour le point de terminaison
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType ne correspond pas à IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType est kIPAddressType_Any, ou le type de addr n'est pas égal à addrType.
other
autre erreur système ou plate-forme

Sur LwIP, cette méthode ne doit pas être appelée avec le verrouillage de la pile LwIP déjà acquis.

Fermer

INET_ERROR Close(
  void
)

Initialisation complète du protocole TCP, c'est-à-dire terminée avec l'envoi et la réception.

Détails
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
other
autre erreur système ou plate-forme

Connecter

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

Établissez une connexion TCP.

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

Détails
Paramètres
[in] addr
l'adresse IP de destination
[in] port
le port TCP de destination
[in] intf
un indicateur d'interface réseau facultatif
Valeurs renvoyées
INET_NO_ERROR
réussite: msg est mis en file d'attente pour envoi.
INET_ERROR_NOT_IMPLEMENTED
l'implémentation du système n'est pas terminée.
INET_ERROR_WRONG_ADDRESS_TYPE
L'adresse de destination et l'adresse d'interface liée n'ont pas de version de protocole ni de type d'adresse correspondants, ou l'adresse de destination est une adresse de liaison locale IPv6, et intf n'est pas spécifié.
other
autre erreur système ou plate-forme

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Désactiver le "keep-alive" TCP .

TCPEndPoint::DisableKeepAlive.

Désactiver les vérifications TCP keepalive sur la connexion TCP associée

Détails
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP ne s'ouvre plus.
INET_ERROR_NOT_IMPLEMENTED
l'implémentation du système n'est pas terminée.
other
autre erreur système ou plate-forme

Remarque:Cette méthode ne peut être appelée que lorsque le point de terminaison se trouve dans l'un des états connectés. Cette méthode n'a aucun effet si les messages keepalive n'ont pas été activés sur le point de terminaison.

DisableReceive

void DisableReceive(
  void
)

Désactiver la réception.

Désactiver tous les gestionnaires d'événements Les données envoyées à un point de terminaison qui désactive la réception sont confirmées jusqu'à ce que la fenêtre de réception soit épuisée.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Activer le "keep-alive" TCP .

TCPEndPoint::EnableKeepAlive.

Démarrer automatiquement la transmission TCP "keep-alive" de vérifier les segments toutes les interval secondes. La connexion est automatiquement abandonnée après la réception d'une réponse négative ou après l'envoi de segments de vérification timeoutCount sans recevoir de réponse positive.

Détails
Paramètres
[in] interval
en secondes entre les requêtes de vérification.
[in] timeoutCount
le nombre de vérifications à envoyer avant l'expiration du délai.
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP ne s'ouvre plus.
INET_ERROR_NOT_IMPLEMENTED
l'implémentation du système n'est pas terminée.
other
autre erreur système ou plate-forme

Pour plus d'informations sur les spécifications, consultez la section 4.2.3.6 du document RFC 1122.

Activer les vérifications du message keepalive TCP sur la connexion TCP associée

Remarque:Cette méthode ne peut être appelée que lorsque le point de terminaison se trouve dans l'un des états connectés. Cette méthode peut être appelée plusieurs fois pour ajuster l'intervalle ou le délai avant expiration du message keepalive.

Détails
Paramètres
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.
timeoutCount
Nombre maximal de vérifications non confirmées avant que la connexion soit considérée comme ayant échoué.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay

TCPEndPoint::EnableNoDelay

Désactivez l'algorithme de mise en mémoire tampon de données dans TCP en définissant les options de socket TCP_NODELAY.

EnableReceive

void EnableReceive(
  void
)

Activer la réception.

Activer tous les gestionnaires d'événements Les données envoyées à un point de terminaison qui désactive la réception sont confirmées jusqu'à ce que la fenêtre de réception soit épuisée.

Gratuit

void Free(
  void
)

Lance (ou continue) la fermeture complète du protocole TCP, en ignorant les erreurs.

L'objet est renvoyé dans le pool sans frais, et toutes les références utilisateur restantes sont par la suite non valides.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Extraire l'adresse IP et le port TCP du point de terminaison local

N'utilisez pas de valeurs de pointeur NULL pour ces arguments.

Détails
Paramètres
[out] retAddr
Adresse IP du point de terminaison local.
[out] retPort
Port TCP du point de terminaison local.
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP ne s'ouvre plus.

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

Extraire l'adresse IP et le port TCP du point de terminaison distant

N'utilisez pas de valeurs de pointeur NULL pour ces arguments.

Détails
Paramètres
[out] retAddr
Adresse IP du point de terminaison distant.
[out] retPort
Port TCP du point de terminaison distant.
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP ne s'ouvre plus.

IsConnected

bool IsConnected(
  void
) const 

Déterminez si une connexion TCP est établie.

Écouter

INET_ERROR Listen(
  uint16_t backlog
)

Préparez le point de terminaison pour recevoir des messages TCP.

Si State est déjà défini sur kState_Listening, aucune opération n'est effectuée. Sinon, State est défini sur kState_Listening et le point de terminaison est prêt à recevoir des messages TCP, selon la sémantique de la plate-forme.

Détails
Paramètres
[in] backlog
profondeur maximale de la file d'attente d'acceptation des connexions
Valeurs renvoyées
INET_NO_ERROR
succès: point de terminaison prêt à recevoir des messages.
INET_ERROR_INCORRECT_STATE
le point de terminaison écoute déjà.

Sur certaines plates-formes, l'argument backlog n'est pas utilisé (la profondeur de la file d'attente est fixe ; une seule connexion peut être acceptée à la fois).

Sur les systèmes LwIP, cette méthode ne doit pas être appelée lorsque le verrou de pile LwIP est déjà acquis.

LogId

uint16_t LogId(
  void
)

Obtenez un identifiant pour le point de terminaison.

Détails
Renvoie
Renvoie un identifiant unique opaque pour les journaux d'utilisation.

MarkActive

void MarkActive(
  void
)

Noter l'activité, en d'autres termes, réinitialiser le minuteur d'inactivité.

Remettez le délai d'inactivité à zéro.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Extrayez la longueur des données reçues non confirmées.

Détails
Renvoie
Nombre d'octets de la file d'attente de réception qui n'ont pas encore été confirmés avec AckReceive(uint16_t len).

PendingSendLength

uint32_t PendingSendLength(
  void
)

Extrayez la longueur des données en attente de la première transmission.

Détails
Renvoie
Nombre d'octets non transmis dans la file d'attente de transmission.

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

Remettez le texte du message au début de la file d'attente de réception.

Cette méthode ne peut être appelée que par les gestionnaires d'événements de réception de données pour remettre une partie de données non confirmée dans la file d'attente de réception. La sémantique opérationnelle n'est pas définie si l'appelant ne fait pas partie du champ d'application d'un gestionnaire d'événements de réception de données, si data n'est pas le Weave::System::PacketBuffer fourni au gestionnaire ou si data ne contient pas la partie non confirmée restante après les octets confirmés par un appel précédent à la méthode AckReceive(uint16_t len).

Détails
Paramètres
[out] data
Texte du message à transmettre.
Valeurs renvoyées
INET_NO_ERROR
succès: réception confirmée.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.

Envoyer

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

Envoyer le texte du message lors d'une connexion TCP

La méthode Weave::System::PacketBuffer::Free est appelée sur l'argument data, que la transmission ait réussi ou échoué.

Détails
Paramètres
[out] data
Texte du message à envoyer.
[out] push
Si la valeur est true, envoyer immédiatement. Sinon, mettez en file d'attente.
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.

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

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Définissez l'option de socket TCP_USER_TIMEOUT.

TCPEndPoint::SetUserTimeout.

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.
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_NOT_IMPLEMENTED
l'implémentation du système n'est pas terminée.
other
autre erreur système ou plate-forme

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.

Remarque:Cette méthode ne peut être appelée que lorsque le point de terminaison se trouve dans l'un des états connectés. Cette méthode peut être appelée plusieurs fois pour ajuster l'intervalle ou le délai avant expiration du message keepalive.

Arrêt

INET_ERROR Shutdown(
  void
)

Lancer TCP à mi-chemin, en d’autres termes, terminé avec l’envoi.

Détails
Valeurs renvoyées
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
other
autre erreur système ou plate-forme