nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

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

Résumé

La couche Nest Inet encapsule les méthodes d'interaction avec les points de terminaison de transport TCP (sockets SOCK_STREAM sur Linux et les systèmes dérivés de BSD) ou 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
}
enum
É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'erreur 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 fonction de gestion des événements reçue par la connexion.
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 semi-fermeture.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Le type de fonction TCP SendIdle a modifié la fonction de gestion du signal.

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 la gestion des événements de transmission de SMS du point de terminaison.
OnPeerClose
Délégué de la fonction de gestion des événements de gestion des événements de fermeture partielle 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 change.
ReceiveEnabled
bool
Contacteur 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
Fermer le point de terminaison de manière annulée, c'est-à-dire envoyer des paquets RST.
AckReceive(uint16_t len)
Confirmez la 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)
Lancer la fermeture complète du protocole TCP, en d'autres termes, se terminer par l'envoi et la réception.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
Lancer une connexion TCP
DisableKeepAlive(void)
Désactivez l'option TCP "keep-alive".
DisableReceive(void)
void
Désactiver la réception
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
Activez l'option TCP "keep-alive".
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)
Extrayez l'adresse IP et le port TCP du point de terminaison local.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Extrayez l'adresse IP et le port TCP du point de terminaison distant.
IsConnected(void) const
bool
Déterminez si la connexion TCP est établie.
Listen(uint16_t backlog)
Préparer le point de terminaison pour qu'il reçoive des messages TCP
LogId(void)
uint16_t
Obtenez un identifiant pour le point de terminaison.
MarkActive(void)
void
Notez l'activité : en d'autres termes, réinitialisez le délai d'inactivité.
PendingReceiveLength(void)
uint32_t
Extrayez la longueur des données de réception 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)
Renvoyer le texte du message en haut de la file d'attente de réception
Send(Weave::System::PacketBuffer *data, bool push)
Envoie le texte du message via la connexion TCP.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Définissez un délai avant expiration pour que Connect soit réussi ou renvoie une erreur.
SetUserTimeout(uint32_t userTimeoutMillis)
Définissez l'option de socket TCP_USER_TIMEOUT.
Shutdown(void)
Lancer la fermeture TCP partielle, c'est-à-dire se terminer par l'envoi.

Types publics

@10

 @10

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

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

Remarque:L'énumération de l'état kBasisState_Closed est mappée sur kState_Ready pour des raisons de compatibilité binaire historique. 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

Le point de terminaison est lié, mais n'écoute pas.

kState_Closed

Point de terminaison fermé, prêt pour la publication.

kState_Closing

Fermeture bidirectionnelle du point de terminaison.

kState_Connected

Point de terminaison connecté, prêt pour les communications tx/rx.

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 lancé sa demi-fermeture.

OnAcceptErrorFunct

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

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

Fournissez une fonction de ce type au membre délégué OnAcceptError pour traiter les événements d'erreur d'acceptation de connexion sur endPoint. L'argument err fournit des détails spécifiques sur le type de l'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 traiter 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, ou 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 traiter les événements de terminaison de connexion sur endPoint. L'argument err distingue les arrêts réussis 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, ou un autre code.

OnConnectionReceivedFunct

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

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

Fournissez une fonction de ce type au membre délégué OnConnectionReceived pour traiter les événements de réception de connexion sur listeningEndPoint. Le point de terminaison conEndPoint que vous venez de recevoir se trouve à l'adresse IP peerAddr et sur le 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 traiter 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 du 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 semi-fermeture.

Fournissez une fonction de ce type au membre délégué OnPeerClose pour traiter les événements de terminaison 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)

Le type de fonction TCP SendIdle a modifié la fonction de gestion du signal.

Fournissez une fonction de ce type au membre délégué OnTCPSendIdleChanged pour traiter l'événement du canal d'envoi du TCPEndPoint (passage de l'état d'inactivité à l'état 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, il est défini sur "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 la gestion des événements de transmission de SMS du point de terminaison.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Délégué de la fonction de gestion des événements de gestion des événements de fermeture partielle 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 change.

Les couches supérieures s'en servent pour prendre les mesures appropriées selon que les données envoyées ont été transmises au pair de manière fiable.

ReceiveEnabled

bool ReceiveEnabled

Contacteur 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 à l'état "ready", passez aux états suivants correspondant à une simplification des états de la machine d'état de transport TCP.

Remarque:L'énumération de l'état kBasisState_Closed est mappée sur kState_Ready pour des raisons de compatibilité binaire historique. 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
)

Fermer le point de terminaison de manière annulée, c'est-à-dire envoyer des paquets RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Confirmez la réception du texte du message.

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

Détails
Paramètres
[in] len
d'octets à accuser réception.
Valeurs de retour
INET_NO_ERROR
succès: réception reconnue.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP n'est plus ouverte.

Bind

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 de protocole de l'adresse IP
[in] addr
L'adresse IP (il doit s'agir d'une adresse d'interface)
[in] port
le port TCP
[in] reuseAddr
option de partage de la liaison avec d'autres points de terminaison
Valeurs de retour
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 correspond à kIPAddressType_Any, ou le type de addr n'est pas égal à addrType.
other
une autre erreur système ou de plate-forme

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

Fermer

INET_ERROR Close(
  void
)

Lancer la fermeture complète du protocole TCP, en d'autres termes, se terminer par l'envoi et la réception.

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

Associer

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

Lancer 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 de retour
INET_NO_ERROR
Réussite: msg est en file d'attente de transmission.
INET_ERROR_NOT_IMPLEMENTED
la mise en œuvre du système n'est pas terminée.
INET_ERROR_WRONG_ADDRESS_TYPE
l'adresse de destination et l'adresse de l'interface liée ne correspondent pas à la version de protocole ni au type d'adresse, ou l'adresse de destination est une adresse de liaison locale IPv6 et intf n'est pas spécifié.
other
une autre erreur système ou de plate-forme

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Désactivez l'option TCP "keep-alive".

TCPEndPoint::DisableKeepAlive :

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

Détails
Valeurs de retour
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP n'est plus ouverte.
INET_ERROR_NOT_IMPLEMENTED
la mise en œuvre du système n'est pas terminée.
other
une autre erreur système ou de 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ésactivez tous les gestionnaires d'événements. Les données envoyées à un point de terminaison qui désactive la réception seront confirmées jusqu'à ce que la fenêtre de réception soit épuisée.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Activez l'option TCP "keep-alive".

TCPEndPoint::EnableKeepAlive :

Démarrer automatiquement la transmission automatique de segments de vérification TCP "keep-alive" toutes les interval secondes. La connexion s'interrompt automatiquement après 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 demandes de vérification.
[in] timeoutCount
nombre de vérifications à envoyer avant le délai d'inactivité.
Valeurs de retour
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.
INET_ERROR_CONNECTION_ABORTED
La connexion TCP n'est plus ouverte.
INET_ERROR_NOT_IMPLEMENTED
la mise en œuvre du système n'est pas terminée.
other
une autre erreur système ou de plate-forme

Reportez-vous à la section 4.2.3.6 du document RFC 1122 pour en savoir plus sur la spécification.

Activer les vérifications 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 des messages keepalive ou le nombre de délais avant expiration.

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

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint::EnableNoDelay.

Désactivez l'algorithme de mise en mémoire tampon du nom dans TCP en définissant les options de socket TCP_NOREQUEST.

EnableReceive

void EnableReceive(
  void
)

Activer la réception

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

Sans frais

void Free(
  void
)

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

L'objet est renvoyé au pool libre, et toutes les références utilisateur restantes sont par la suite invalides.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

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

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

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

GetPeerInfo

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

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

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

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

IsConnected

bool IsConnected(
  void
) const 

Déterminez si la connexion TCP est établie.

Écouter

INET_ERROR Listen(
  uint16_t backlog
)

Préparer le point de terminaison pour qu'il reçoive 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, conformément à la sémantique de la plate-forme.

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

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

Sur les systèmes LwIP, cette méthode ne doit pas être appelée avec le verrouillage de pile LwIP 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
)

Notez l'activité : en d'autres termes, réinitialisez le délai d'inactivité.

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

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Extrayez la longueur des données de réception non confirmées.

Détails
Renvoie
Nombre d'octets dans la file d'attente de réception n'ayant pas encore été confirmés par 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
)

Renvoyer le texte du message en haut 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 des données non confirmées 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 de retour
INET_NO_ERROR
succès: réception reconnue.
INET_ERROR_INCORRECT_STATE
Connexion TCP non établie.

Envoyer

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

Envoie le texte du message via la 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 de retour
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 avant expiration pour que Connect soit réussi 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, 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 utilisera 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.
Valeurs de retour
INET_NO_ERROR
succès: adresse et port extraits.
INET_ERROR_NOT_IMPLEMENTED
la mise en œuvre du système n'est pas terminée.
other
une autre erreur système ou de plate-forme

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.

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 des messages keepalive ou le nombre de délais avant expiration.

Arrêt

INET_ERROR Shutdown(
  void
)

Lancer la fermeture TCP partielle, c'est-à-dire se terminer par l'envoi.

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