otTcpCircularSendBuffer
#include <tcp_ext.h>
نشان دهنده یک بافر ارسال دایره ای برای استفاده با نقطه پایانی TCP است.
خلاصه
استفاده از بافر ارسال دایره ای اختیاری است. برنامه ها می توانند با مدیریت مستقیم otLinkedBuffers از یک نقطه پایانی TCP برای ارسال داده استفاده کنند. با این حال، برخی از برنامهها ممکن است داشتن یک بافر ارسال دایرهای را راحتتر بدانند. چنین برنامههایی میتوانند otTcpCircularSendBufferWrite() را فراخوانی کنند تا یک بافر ارسال دایرهای را به یک نقطه پایانی TCP وصل کرده و دادهها را روی آن نقطه پایانی TCP ارسال کنند، با تکیه بر بافر ارسال دایرهای برای مدیریت otLinkedBuffers زیربنایی.
otTcpCircularSendBuffer در بالای API مبتنی بر otLinkedBuffer ارائه شده توسط یک otTcpEndpoint پیاده سازی شده است. هنگامی که به یک otTcpEndpoint متصل شد، یک otTcpCircularSendBuffer تمام کارهای مدیریت otLinkedBuffers برای اتصال را انجام می دهد. این بدان معنی است که وقتی یک otTcpCircularSendBuffer به یک otTcpEndpoint متصل شد، برنامه نباید otTcpSendByReference() یا otTcpSendByExtension() را در آن otTcpEndpoint فراخوانی کند. در عوض، برنامه باید از otTcpCircularSendBufferWrite() برای افزودن داده به بافر ارسال استفاده کند.
فراخوانی ()otTcpForwardProgress روشی است که کاربران می توانند یاد بگیرند که چه زمانی فضا در بافر ارسال دایره ای در دسترس می شود. در یک نقطه otTcpEnd که یک otTcpCircularSendBuffer به آن متصل است، برنامه باید یک callback ()otTcpForwardProgress را نصب کند و otTcpCircularSendBufferHandleForwardProgress() را در otTcpCircularSendBuffer پیوست شده در شروع تابع callback فراخوانی کند. توصیه می شود که کاربر یک callback () otTcpSendDone را نصب نکند، زیرا تمام مدیریت otLinkedBuffers توسط بافر ارسال دایره ای انجام می شود.
برنامه نباید فیلدهای این ساختار را مستقیماً بررسی کند. فقط باید از طریق توابع TCP Circular Send Buffer API که امضای آنها در این فایل ارائه شده است، با آن تعامل داشته باشد.
صفات عمومی | |
---|---|
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 API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.
جز در مواردی که غیراز این ذکر شده باشد، محتوای این صفحه تحت مجوز پروانه ارجاع مشترکات خلاقانه نسخه ۴.۰ است. نمونه کدها نیز دارای مجوز پروانه آپاچی نسخه ۲.۰ است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. OpenThread و علائم مربوط به آن، علامتهای تجاری Thread Group هستند و تحت پروانه استفاده میشوند.
تاریخ آخرین بهروزرسانی 2023-12-01 بهوقت ساعت هماهنگ جهانی.