Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

otTcpCircularSendBuffer

#include <tcp_ext.h>

Esta estructura representa un búfer de envío circular para usar con un extremo TCP.

Resumen

Usar un búfer de envío circular es opcional. Las aplicaciones pueden usar un extremo TCP para enviar datos mediante la administración directa de otLinkedBuffers. Sin embargo, para algunas aplicaciones puede resultar más conveniente tener un búfer de envío circular. Esas aplicaciones pueden llamar a otTcpCircularSendBufferWrite() para & adjuntar un búfer de envío circular a un extremo de TCP y enviar datos en ese extremo de TCP, que dependen del búfer de envío circular para administrar los otLinkedBuffers subyacentes.

otTcpCircularSendBuffer se implementa sobre la API basada en otLinkedBuffer que proporciona un otTcpEndpoint. Una vez conectado a un otTcpEndpoint, un otTcpCircularSendBuffer realiza todo el trabajo de administrar otLinkedBuffers para la conexión. Esto significa que, una vez que se adjunta un otTcpCircularSendBuffer a un otTcpEndpoint, la aplicación no debe llamar a otTcpSendByReference() ni a otTcpSendByExtension() en ese otTcpEndpoint. En cambio, la aplicación debe usar otTcpCircularSendBufferWrite() para agregar datos al búfer de envío.

La devolución de llamada otTcpForwardProgress() es la forma prevista para que los usuarios sepan cuándo hay espacio disponible en el búfer de envío circular. En un otTcpEndpoint al que se adjuntó un otTcpCircularSendBuffer, la aplicación DEBE instalar una devolución de llamada otTcpForwardProgress() y llamar a otTcpCircularSendBufferHandleForwardProgress() en el otTcpCircularSendBuffer al inicio de la función de devolución de llamada. Se recomienda que el usuario NO instale una devolución de llamada otTcpSendDone(), ya que el búfer de envío circular maneja la administración de otLinkedBuffers.

La aplicación no debe inspeccionar los campos de esta estructura directamente; solo debe interactuar con ella a través de las funciones de la API de búfer de envío circular de TCP cuya firma se proporciona en este archivo.

Atributos públicos

mCapacity
size_t
Longitud del búfer de envío circular.
mCapacityUsed
size_t
Cantidad de bytes almacenados en el búfer de envío.
mDataBuffer
uint8_t *
Es un puntero a los datos en el búfer de envío circular.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Índice del primer byte válido del búfer de envío.

Atributos públicos

Capacidad

size_t otTcpCircularSendBuffer::mCapacity

Longitud del búfer de envío circular.

Capacidad de capacidad utilizada

size_t otTcpCircularSendBuffer::mCapacityUsed

Cantidad de bytes almacenados en el búfer de envío.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Es un puntero a los datos en el búfer de envío circular.

Índice de vínculo de envío inicial

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

Índice de inicio

size_t otTcpCircularSendBuffer::mStartIndex

Índice del primer byte válido del búfer de envío.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir con nuestra documentación, consulta Recursos.