otTcpCircularSendBuffer
#include <tcp_ext.h>
מייצג מאגר שליחה מעגלי לשימוש עם נקודת קצה של TCP.
סיכום
השימוש במאגר נתונים זמני מעגלי הוא אופציונלי. אפליקציות יכולות להשתמש בנקודת קצה של TCP כדי לשלוח נתונים על ידי ניהול ישיר של otLinkedBuffers. עם זאת, ייתכן שלאפליקציות מסוימות יהיה נוח יותר להפעיל מאגר שליחה מעגלי; אפליקציות כאלה יכולות לקרוא ל-otTcpCircularSendBufferWrite() כדי "לצרף" מאגר שליחה מעגלי לנקודת קצה של TCP ולשלוח נתונים בנקודת הקצה של TCP הזו, תוך הסתמכות על מאגר השליחה העגול כדי לנהל את otLinkedBuffers הבסיסית.
otTcpCircularSendBuffer מוטמע מעל API שמבוסס על otLinkedBuffer שמסופק על ידי otTcpEndpoint. לאחר שצורף אל otTcpEndpoint, קובץ otTcpCircularSendBuffer מבצע את כל העבודה של ניהול otLinkedBuffers עבור החיבור. כלומר, ברגע ש-otTcpCircularSendBuffer מצורף ל-otTcpEndpoint, האפליקציה לא יכולה לקרוא ל-otTcpSendByReference() או otTcpSendByExtension() ב-otTcpEndpoint הזה. במקום זאת, האפליקציה צריכה להשתמש בפונקציה otTcpCircularSendBufferWrite() כדי להוסיף נתונים למאגר הנתונים הזמני לשליחה.
הקריאה החוזרת (callback) otTcpForwardProgress() היא הדרך המיועדת למשתמשים לדעת מתי יש מקום פנוי במאגר הזמני של השליחה הכפול. ב-otTcpEndpoint שאליו מצורף otTcpCircularSendBuffer, האפליקציה חייבת להתקין קריאה חוזרת של otTcpForwardProgress() ולקרוא ל-otTcpCircularSendBufferHandleForwardProgress() ב-otTcpCircularSendBuffer המצורף בתחילת פונקציית הקריאה החוזרת. מומלץ שהמשתמש לא יתקין קריאה חוזרת (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. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.