otTcpCircularSendBuffer

#include <tcp_ext.h>

يمثل مخزنًا مؤقتًا للإرسال دائريًا لاستخدامه مع نقطة نهاية بروتوكول التحكم بالنقل.

ملخّص

يعد استخدام مخزن مؤقت دائري للإرسال اختياريًا. يمكن للتطبيقات استخدام نقطة نهاية بروتوكول التحكم بالنقل لإرسال البيانات من خلال إدارة otLinkedBuffers مباشرةً. ومع ذلك، قد يكون من الأسهل استخدام مخزن إرسال مؤقت دائري، حيث يمكن لهذه التطبيقات استدعاء الدالة otTcpCircularSendBufferWrite() لـ "إرفاق" مخزن إرسال دائري دائري إلى نقطة نهاية بروتوكول التحكم بالنقل وإرسال البيانات من نقطة نهاية بروتوكول التحكم في الإرسال (TCP) هذه، اعتمادًا على مخزن الإرسال الدائري لإدارة نقاط الاتصال otLinkedBuffer الأساسية.

يتم تنفيذ otTcpCircularSendBuffer على واجهة برمجة التطبيقات المستندة إلى otLinkedBuffer التي توفّرها otTcpEndpoint. بعد الإرفاق بـ otTcpEndpoint، ينفِّذ otTcpCircularSendBuffer جميع مهام إدارة otLinkedBuffers للاتصال. وهذا يعني أنّه بعد إرفاق otTcpCircularSendBuffer بعنصر otTcpEndpoint، يجب ألا يستدعي التطبيق otTcpSendByReference() أو otTcpSendByExtension() على ذلك otTcpEndpoint. بدلاً من ذلك، يجب أن يستخدم التطبيق otTcpCircularSendBufferWrite() لإضافة البيانات إلى المخزن المؤقت للإرسال.

استدعاء otTcpForwardProgress() هو الطريقة المقصودة لمعرفة المستخدمين عند توفُّر مساحة في المخزن المؤقت للإرسال الدائري. في otTcpEndpoint الذي تم إرفاق otTcpCircularSendBuffer به، يجب أن يثبّت التطبيق معاودة الاتصال otTcpForwardProgress() ويستدعي otTcpCircularSendBufferHandleForwardProgress() في otTcpCircularSendBuffer المرفق في بداية دالة معاودة الاتصال. ننصح بعدم تثبيت المستخدم استدعاء otTcpSendDone()، لأنّه تتم معالجة جميع عمليات إدارة otLinkedBuffers بواسطة المخزن المؤقت للإرسال الدائري.

يجب ألا يفحص التطبيق حقول هذه البنية مباشرةً، بل يجب أن يتفاعل معها فقط من خلال وظائف واجهة برمجة التطبيقات TCP Circular Send Buffer التي يتم تقديم توقيعها في هذا الملف.

السمات العامة

mCapacity
size_t
طول المخزن المؤقت الدائري للإرسال.
mCapacityUsed
size_t
عدد وحدات البايت المخزنة في المخزن المؤقت للإرسال.
mDataBuffer
uint8_t *
مؤشر إلى البيانات في المخزن المؤقت للإرسال الدائري.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
فهرس أول بايت صالح في المخزن المؤقت للإرسال

السمات العامة

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

طول المخزن المؤقت الدائري للإرسال.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

عدد وحدات البايت المخزنة في المخزن المؤقت للإرسال.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

مؤشر إلى البيانات في المخزن المؤقت للإرسال الدائري.

mFirstSendLinkIndex

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

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

فهرس أول بايت صالح في المخزن المؤقت للإرسال

المراجِع

تنشأ المواضيع المرجعية لواجهة برمجة تطبيقات OpenThread من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.