nl:: बुनें:: टीएलवी:: बुन सर्कुलर टीएलवी बफर
#include <src/lib/core/WeaveCircularTLVBuffer.h>
WeaveCircularTLVBuffer के लिए परिपत्र भंडारण प्रदान करता हैnl :: Weave :: TLV :: TLVWriter और nl :: Weave :: TLVTLVReader।
सारांश
nl :: Weave :: TLV :: TLVWriter का एक असीम संख्या लिखने में सक्षम है TLV के लिए प्रविष्टियां WeaveCircularTLVBuffer जब तक प्रत्येक व्यक्ति के रूप में TLV पूरी तरह से प्रदान की भंडारण के भीतर प्रवेश फिट।Nl :: Weave :: TLV :: TLVReader बफर के सबसे आकार में पढ़ा होगा, लेकिन बफर भीतर wraparound को समायोजित करेगा।
निर्माता और विनाशक De | |
---|---|
WeaveCircularTLVBuffer (uint8_t *inBuffer, size_t inBufferLength) WeaveCircularTLVBuffer निर्माता। | |
WeaveCircularTLVBuffer (uint8_t *inBuffer, size_t inBufferLength, uint8_t *inHead) WeaveCircularTLVBuffer निर्माता। |
सार्वजनिक प्रकार | |
---|---|
ProcessEvictedElementFunct )(WeaveCircularTLVBuffer &inBuffer, void *inAppData, TLVReader &inReader) | WEAVE_ERROR(*WEAVE_ERROR (* एक समारोह एक कार्रवाई करने के लिए कहा जाता है कि TLV यह करने से पहले तत्व से बेदखल कर दिया जा रहा है nl :: Weave :: TLV :: WeaveCircularTLVBuffer । |
सार्वजनिक गुण | |
---|---|
mAppData | void * एक वैकल्पिक, उपयोगकर्ता द्वारा प्रदान किया गया संदर्भ जिसे कॉलबैक के साथ बेदखल किए गए तत्व को संसाधित करने के लिए उपयोग किया जाता है। |
mImplicitProfileId | uint32_t |
mProcessEvictedElement | एक वैकल्पिक, उपयोगकर्ता द्वारा प्रदत्त कॉलबैक जो तत्व को सर्कुलर बफर से बेदखल करने से पहले संसाधित करता है। |
सार्वजनिक समारोह | |
---|---|
AvailableDataLength (void) const | size_t |
DataLength (void) const | size_t |
EvictHead (void) | सबसे पुराना उच्च-स्तरीय evicts TLV में तत्व WeaveCircularTLVBuffer । |
FinalizeBuffer (TLVWriter & ioWriter, uint8_t *inBufStart, uint32_t inBufLen) | FinalizeBuffer समायोजित WeaveCircularTLVBuffer से उत्पादन के पूरा होने पर राज्यTLVWriter । |
GetNewBuffer (TLVWriter & ioWriter, uint8_t *& outBufStart, uint32_t & outBufLen) | के लिए अतिरिक्त जगह जाओTLVWriter । |
GetNextBuffer (TLVReader & ioReader, const uint8_t *& outBufStart, uint32_t & outBufLen) | के लिए अतिरिक्त जगह जाओTLVReader । |
GetQueue (void) const | uint8_t * |
GetQueueSize (void) const | size_t |
QueueHead (void) const | uint8_t * |
QueueTail (void) const | uint8_t * |
SetQueueHead (uint8_t *aQueueHead) | void |
SetQueueLength (size_t aQueueLength) | void |
सार्वजनिक स्थैतिक कार्य | |
---|---|
FinalizeBufferFunct (TLVWriter & ioWriter, uintptr_t inBufHandle, uint8_t *inBufStart, uint32_t inBufLen) | करने के लिए एक ट्रैम्पोलिन WeaveCircularTLVBuffer :: FinalizeBuffer । |
GetNewBufferFunct (TLVWriter & ioWriter, uintptr_t & inBufHandle, uint8_t *& outBufStart, uint32_t & outBufLen) | एक ट्रैम्पोलिन के लिए अधिक स्थान लाने के लिएTLVWriter । |
GetNextBufferFunct (TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen) | करने के लिए एक ट्रैम्पोलिन WeaveCircularTLVBuffer :: GetNextBuffer । |
सार्वजनिक प्रकार
प्रक्रिया बेदखलतत्वकार्य
WEAVE_ERROR(* ProcessEvictedElementFunct)(WeaveCircularTLVBuffer &inBuffer, void *inAppData, TLVReader &inReader)
एक समारोह एक कार्रवाई करने के लिए कहा जाता है कि TLV यह करने से पहले तत्व से बेदखल कर दिया जा रहा है nl :: Weave :: TLV :: WeaveCircularTLVBuffer ।
इस प्रकार के कार्य एक कार्रवाई करने के लिए उपयोग किया जाता है TLV के बारे में बफर से बेदखल कर दिया जा करने के लिए तत्व। समारोह दिया जाएगा एकnl :: Weave :: TLV :: TLVReader के बारे में हटाए जाने के लिए तत्व है, साथ ही शून्य * संदर्भ में, जहां उपयोगकर्ता कॉलबैक के लिए अतिरिक्त वातावरण प्रदान किया है पर तैनात। समारोह तत्व सफलतापूर्वक संसाधित है, यह लौटना चाहिए WEAVE_NO_ERROR ; को यह प्रतीक WeaveCircularTLVBuffer उस तत्व को सुरक्षित रूप से निकाला जा सकता है। किसी भी अन्य वापसी मान एक त्रुटि माना जाता है और नहीं कर पाएगा WeaveCircularTLVBuffer विचाराधीन तत्व हटाना उतना से।
नोट: यह कॉलबैक मजबूर करने के लिए इस्तेमाल किया जा सकता WeaveCircularTLVBuffer बेदखल नहीं तत्व है। यह कई परिस्थितियों में उपयोगी हो सकता है, जब एक अंतर्निहित सर्कुलर बफर होना वांछित होता है, लेकिन इसके भीतर किसी भी तत्व को ओवरराइड नहीं करना होता है।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||
वापसी मूल्य |
|
सार्वजनिक गुण
एमएपीडेटा
void * mAppData
एक वैकल्पिक, उपयोगकर्ता द्वारा प्रदान किया गया संदर्भ जिसे कॉलबैक के साथ बेदखल किए गए तत्व को संसाधित करने के लिए उपयोग किया जाता है।
mImplicitProfileId
uint32_t mImplicitProfileId
mProcessEvictedElement
ProcessEvictedElementFunct mProcessEvictedElement
एक वैकल्पिक, उपयोगकर्ता द्वारा प्रदत्त कॉलबैक जो तत्व को सर्कुलर बफर से बेदखल करने से पहले संसाधित करता है।
mProcessEvictedElement फ़ंक्शन को लागू करने के बारे में अतिरिक्त जानकारी पर ProcessEvictedElementFunct प्रकार की परिभाषा देखें।
सार्वजनिक समारोह
उपलब्ध डेटा लंबाई
size_t AvailableDataLength( void ) const
डेटा लंबाई
size_t DataLength( void ) const
एविक्टहेड
WEAVE_ERROR EvictHead( void )
सबसे पुराना उच्च-स्तरीय evicts TLV में तत्व WeaveCircularTLVBuffer ।
इस समारोह के सबसे पुराने शीर्ष स्तर को हटा TLV बफर में तत्व। समारोह में पंजीकृत कॉलबैक कॉल करेंगे mProcessEvictedElement तत्व हटाने से पहले कार्रवाई करने के लिए। कॉलबैक कुछ भी लेकिन देता है, तो WEAVE_NO_ERROR , तत्व नहीं हटाया जाता है। इसी तरह, किसी भी अन्य त्रुटि बफर के भीतर कोई तत्व होती है तो, आदि अंतर्निहित WeaveCircularTLVBuffer अपरिवर्तित रहता है।
विवरण | |||||
---|---|---|---|---|---|
वापसी मूल्य |
|
अंतिम रूप देंबफर
WEAVE_ERROR FinalizeBuffer( TLVWriter & ioWriter, uint8_t *inBufStart, uint32_t inBufLen )
FinalizeBuffer समायोजित WeaveCircularTLVBuffer
से उत्पादन के पूरा होने पर राज्यTLVWriter ।
यह फ़ंक्शन कतार की पूंछ की स्थिति को प्रभावित करता है।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||
वापसी मूल्य |
|
गेटन्यूबफर
WEAVE_ERROR GetNewBuffer( TLVWriter & ioWriter, uint8_t *& outBufStart, uint32_t & outBufLen )
के लिए अतिरिक्त जगह जाओTLVWriter ।
वास्तव में, फ़ंक्शन सर्कुलर बफर से एक तत्व को हटा देता है, और इस बफर कतार के प्रमुख को समायोजित करता है
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||
वापसी मूल्य |
|
गेटनेक्स्टबफर
WEAVE_ERROR GetNextBuffer( TLVReader & ioReader, const uint8_t *& outBufStart, uint32_t & outBufLen )
के लिए अतिरिक्त जगह जाओTLVReader ।
द्वारा प्रदान की भंडारण WeaveCircularTLVBuffer बफर भीतर wraparound जा सकता है। यह समारोह हमारे लिए परिपत्र बफर के बफरिंग से मेल करने की क्षमता के साथ प्रदान करता हैTLVReader की कमी। पाठक अधिक से अधिक पढ़ा जाएगा mQueueSize
बफर से बाइट्स।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||
वापसी मूल्य |
|
कतार प्राप्त करें
uint8_t * GetQueue( void ) const
GetQueueSize
size_t GetQueueSize( void ) const
कतार शीर्ष
uint8_t * QueueHead( void ) const
कतार पूंछ
uint8_t * QueueTail( void ) const
सेट क्यूईहेड
void SetQueueHead( uint8_t *aQueueHead )
कतार की लंबाई सेट करें
void SetQueueLength( size_t aQueueLength )
बुन सर्कुलर टीएलवी बफर
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength )
WeaveCircularTLVBuffer निर्माता।
विवरण | |||||
---|---|---|---|---|---|
मापदंडों |
|
बुन सर्कुलर टीएलवी बफर
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength, uint8_t *inHead )
WeaveCircularTLVBuffer निर्माता।
विवरण | |||||||
---|---|---|---|---|---|---|---|
मापदंडों |
|
सार्वजनिक स्थैतिक कार्य
अंतिम रूप देंबफ़रफ़ंक्शन
WEAVE_ERROR FinalizeBufferFunct( TLVWriter & ioWriter, uintptr_t inBufHandle, uint8_t *inBufStart, uint32_t inBufLen )
करने के लिए एक ट्रैम्पोलिन WeaveCircularTLVBuffer :: FinalizeBuffer ।
विवरण | |||||||||
---|---|---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||||
वापसी मूल्य |
|
गेटन्यूबफ़रफ़ंक्शन
WEAVE_ERROR GetNewBufferFunct( TLVWriter & ioWriter, uintptr_t & inBufHandle, uint8_t *& outBufStart, uint32_t & outBufLen )
एक ट्रैम्पोलिन के लिए अधिक स्थान लाने के लिएTLVWriter ।
विवरण | |||||||||
---|---|---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||||
वापसी मूल्य |
|
गेटनेक्स्टबफ़रफ़ंक्शन
WEAVE_ERROR GetNextBufferFunct( TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen )
करने के लिए एक ट्रैम्पोलिन WeaveCircularTLVBuffer :: GetNextBuffer ।
विवरण | |||||||||
---|---|---|---|---|---|---|---|---|---|
मापदंडों |
| ||||||||
वापसी मूल्य |
|