otTcpCircularSendBuffer

#include <tcp_ext.h>

Mewakili buffering pengiriman sirkular untuk digunakan dengan endpoint TCP.

Ringkasan

Menggunakan buffer pengiriman sirkular bersifat opsional. Aplikasi dapat menggunakan endpoint TCP untuk mengirim data dengan mengelola otLinkedBuffer secara langsung. Namun, beberapa aplikasi mungkin merasa lebih nyaman memiliki buffer pengiriman sirkular; aplikasi tersebut dapat memanggil otTcpCircularSendBufferWrite() untuk "melampirkan" buffering pengiriman melingkar ke endpoint TCP dan mengirim data di endpoint TCP tersebut, dengan mengandalkan buffer pengiriman sirkular untuk mengelola otLinkedBuffers yang mendasarinya.

otTcpCircularSendBuffer diimplementasikan di atas API berbasis otLinkedBuffer yang disediakan oleh otTcpEndpoint. Setelah terhubung ke otTcpEndpoint, otTcpCircularSendBuffer akan melakukan semua tugas pengelolaan otLinkedBuffers untuk koneksi. Artinya, setelah otTcpCircularSendBuffer dilampirkan ke otTcpEndpoint, aplikasi tidak boleh memanggil otTcpSendByReference() atau otTcpSendByExtension() pada otTcpEndpoint tersebut. Sebagai gantinya, aplikasi harus menggunakan otTcpCircularSendBufferWrite() untuk menambahkan data ke buffering pengiriman.

Callback otTcpForwardProgress() adalah cara yang ditujukan bagi pengguna untuk mengetahui kapan ruang tersedia di buffer pengiriman sirkular. Pada otTcpEndpoint yang terkait dengan otTcpCircularSendBuffer yang dilampirkan, aplikasi HARUS menginstal callback otTcpForwardProgress() dan memanggil otTcpCircularSendBufferHandleForwardProgress() pada otTcpCircularSendBuffer yang dilampirkan di awal fungsi callback. Sebaiknya pengguna TIDAK menginstal callback otTcpSendDone() karena semua pengelolaan otLinkedBuffers ditangani oleh buffering pengiriman sirkular.

Aplikasi tidak boleh memeriksa kolom struktur ini secara langsung; aplikasi hanya boleh berinteraksi dengannya melalui fungsi TCP Circular Send Buffer API yang tanda tangannya disediakan dalam file ini.

Atribut publik

mCapacity
size_t
Panjang buffering pengiriman sirkular.
mCapacityUsed
size_t
Jumlah byte yang disimpan dalam buffering pengiriman.
mDataBuffer
uint8_t *
Pointer ke data dalam buffering pengiriman melingkar.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Indeks byte valid pertama dalam buffering pengiriman.

Atribut publik

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

Panjang buffering pengiriman sirkular.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

Jumlah byte yang disimpan dalam buffering pengiriman.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Pointer ke data dalam buffering pengiriman melingkar.

mFirstSendLinkIndex

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

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

Indeks byte valid pertama dalam buffering pengiriman.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.