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
mSendLinks
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]
mStartIndex
size_t otTcpCircularSendBuffer::mStartIndex
فهرس أول بايت صالح في المخزن المؤقت للإرسال
المراجِع
تنشأ المواضيع المرجعية لواجهة برمجة تطبيقات OpenThread من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.