otTcpCircularSendBuffer
#include <tcp_ext.h>
टीसीपी एंडपॉइंट के साथ इस्तेमाल करने के लिए, सर्कुलर से भेजने का बफ़र दिखाता है.
खास जानकारी
ईमेल भेजने के लिए सर्कुलर बफ़र का इस्तेमाल करना ज़रूरी नहीं है. ऐप्लिकेशन, टीसीपी एंडपॉइंट का इस्तेमाल करके सीधे otLinkedBuffers को मैनेज करके डेटा भेज सकते हैं. हालांकि, कुछ ऐप्लिकेशन को सर्कुलर सेन बफ़र का इस्तेमाल करना ज़्यादा सुविधाजनक लग सकता है. ऐसे ऐप्लिकेशन otTcpCircularSendBufferWrite() को कॉल कर सकते हैं, ताकि टीसीपी एंडपॉइंट में सर्कुलर सेन बफ़र को "अटैचमेंट" किया जा सके और उस टीसीपी एंडपॉइंट पर डेटा भेजा जा सके. इस दौरान, दिए गए otLinkedBuffers को मैनेज करने के लिए सर्कुलर सेन बफ़र का इस्तेमाल किया जा सकता है.
otTcpCircularSendBuffer को otTcpEndpoint की ओर से दिए गए otLinkedBuffer-आधारित एपीआई के ऊपर लागू किया जाता है. otTcpEndpoint से जुड़ने के बाद, otTcpCircularSendBuffer कनेक्शन के लिए otLinkedBuffers को मैनेज करने का पूरा काम करता है. इसका मतलब यह है कि किसी otTcpEndpoint से otTcpCircularSendBuffer के अटैच होने के बाद, ऐप्लिकेशन को उस otTcpEndpoint पर otTcpSendByReference() या otTcpSendByExtension() को कॉल नहीं करना चाहिए. इसके बजाय, ऐप्लिकेशन को भेजें बफ़र में डेटा जोड़ने के लिए otTcpCircularSendBufferWrite() का इस्तेमाल करना चाहिए.
otTcpForwardProgress() कॉलबैक की मदद से, उपयोगकर्ताओं को यह जानकारी मिलती है कि सर्कुलर भेजने के बफ़र में स्पेस कब उपलब्ध होता है. जिस otTcpEndpoint से otTcpCircularSendBuffer को अटैच किया गया है उस पर, ऐप्लिकेशन को otTcpForwardProgress() कॉलबैक इंस्टॉल करना ज़रूरी है. साथ ही, कॉलबैक फ़ंक्शन की शुरुआत में, अटैच किए गए otTcpCircularSendBuffer बटन पर otTcpCircularSendBufferHandleForwardProgress() को कॉल करना ज़रूरी है. यह सुझाव दिया जाता है कि उपयोगकर्ता, otTcpSendDone() कॉलबैक इंस्टॉल न करें, क्योंकि otLinkedBuffers का पूरा मैनेजमेंट, सर्कुलर सेंड बफ़र से मैनेज किया जाता है.
ऐप्लिकेशन को सीधे इस स्ट्रक्चर के फ़ील्ड की जांच नहीं करनी चाहिए; इसे इसके साथ सिर्फ़ उन टीसीपी सर्कुलर सेंड बफ़र एपीआई के फ़ंक्शन के ज़रिए इंटरैक्ट करना चाहिए जिनके हस्ताक्षर इस फ़ाइल में दिए गए हैं.
सार्वजनिक एट्रिब्यूट |
|
---|---|
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 पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.