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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2023-12-01 بهوقت ساعت هماهنگ جهانی.