otTcpCircularSendBuffer

#include <tcp_ext.h>

Représente un tampon d'envoi circulaire à utiliser avec un point de terminaison TCP.

Résumé

L'utilisation d'un tampon d'envoi circulaire est facultative. Les applications peuvent utiliser un point de terminaison TCP pour envoyer des données en gérant directement otLinkedBuffers. Cependant, certaines applications peuvent trouver plus pratique d'avoir un tampon d'envoi circulaire ; elles peuvent appeler otTcpCircularSendBufferWrite() pour "associer" un tampon d'envoi circulaire à un point de terminaison TCP et envoyer des données sur ce point de terminaison TCP, en s'appuyant sur le tampon d'envoi circulaire pour gérer les otLinkedBuffers sous-jacents.

otTcpCircularSendBuffer est implémenté sur l'API basée sur otLinkedBuffer fournie par un otTcpEndpoint. Une fois associé à un otTcpEndpoint, un otTcpCircularSendBuffer effectue toutes les tâches de gestion des otLinkedBuffers pour la connexion. Cela signifie que, une fois qu'un otTcpCircularSendBuffer est associé à un otTcpEndpoint, l'application ne doit pas appeler otTcpSendByReference() ou otTcpSendByExtension() sur cet otTcpEndpoint. L'application doit utiliser otTcpCircularSendBufferWrite() pour ajouter des données au tampon d'envoi.

Le rappel otTcpForwardProgress() est destiné aux utilisateurs pour savoir quand de l'espace devient disponible dans le tampon d'envoi circulaire. Sur un otTcpEndpoint auquel est associé un otTcpCircularSendBuffer, l'application DOIT installer un rappel otTcpForwardProgress() et appeler otTcpCircularSendBufferHandleForwardProgress() sur l'otTcpCircularSendBuffer associé au début de la fonction de rappel. Il est recommandé à l'utilisateur de NE PAS installer de rappel otTcpSendDone(), car toute la gestion de otLinkedBuffers est gérée par le tampon d'envoi circulaire.

L'application ne doit pas inspecter directement les champs de cette structure. Elle ne doit interagir avec elle que via les fonctions de l'API TCP Circular Send Buffer dont la signature est fournie dans ce fichier.

Attributs publics

mCapacity
size_t
Longueur du tampon d'envoi circulaire.
mCapacityUsed
size_t
Nombre d'octets stockés dans le tampon d'envoi.
mDataBuffer
uint8_t *
Pointeur vers les données du tampon d'envoi circulaire.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Index du premier octet valide dans le tampon d'envoi.

Attributs publics

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

Longueur du tampon d'envoi circulaire.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

Nombre d'octets stockés dans le tampon d'envoi.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Pointeur vers les données du tampon d'envoi circulaire.

mFirstSendLinkIndex

uint8_t otTcpCircularSendBuffer::mFirstSendLinkIndex
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

Index du premier octet valide dans le tampon d'envoi.

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.