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
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

فهرست اولین بایت معتبر در بافر ارسال.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.