nl :: نسج:: TLV :: WeaveCircularTLVBuffer
#include <src/lib/core/WeaveCircularTLVBuffer.h>
WeaveCircularTLVBuffer يوفر تخزين دائري لنيكولا لانغ :: :: نسج TLV :: TLVWriter ونيكولا لانغ :: :: نسج TLVTLVReader.
ملخص
نيكولا لانغ :: :: نسج TLV :: TLVWriter غير قادرة على إرسال عدد غير محدود من TLV إدخالات إلى WeaveCircularTLVBuffer طالما كل الفردية TLV نوبات دخول بالكامل داخل التخزين المقدم. ونيكولا لانغ :: :: نسج TLV :: TLVReader سيقرأ في معظم حجم المخزن المؤقت، ولكن استيعاب ملفوف داخل المخزن المؤقت.
البنائين والمدمرين | |
---|---|
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 العنصر قبل أن يتم طرد من نيكولا لانغ :: :: نسج TLV :: WeaveCircularTLVBuffer . |
السمات العامة | |
---|---|
mAppData | void * سياق اختياري يوفره المستخدم لاستخدامه مع معالجة رد النداء للعنصر الذي تم إخلاؤه. |
mImplicitProfileId | uint32_t |
mProcessEvictedElement | رد اتصال اختياري يوفره المستخدم يعالج العنصر قبل إخراجه من المخزن المؤقت الدائري. |
الوظائف العامة | |
---|---|
AvailableDataLength (void) const | size_t |
DataLength (void) const | size_t |
EvictHead (void) | باجلاء أقدم المستوى الأعلى 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 . |
الأنواع العامة
ProcessEvictedElementFunct
WEAVE_ERROR(* ProcessEvictedElementFunct)(WeaveCircularTLVBuffer &inBuffer, void *inAppData, TLVReader &inReader)
وظيفة الذي يسمى لمعالجة TLV العنصر قبل أن يتم طرد من نيكولا لانغ :: :: نسج TLV :: WeaveCircularTLVBuffer .
وتستخدم وظائف من هذا النوع لمعالجة TLV عنصر على وشك أن يطرد من المخزن المؤقت. سيتم منح وظيفة لنيكولا لانغ :: :: نسج TLV :: TLVReader المتمركزة على العنصر حول المراد حذفه، وكذلك * السياق باطل حيث أن المستخدم قد وفرت بيئة إضافية لرد. إذا كانت وظيفة معالجتها العنصر بنجاح، يجب أن تعيد WEAVE_NO_ERROR . هذا يدل على WeaveCircularTLVBuffer أن العنصر قد طرد بأمان. يتم معاملة أي قيمة الإرجاع أخرى خطأ وسوف تمنع WeaveCircularTLVBuffer من طرد العناصر قيد النظر.
ملاحظة: هذا الاستدعاء يمكن أن تستخدم لإجبار WeaveCircularTLVBuffer لعدم طرد عنصر. قد يكون هذا مفيدًا في عدد من الحالات ، عندما يكون من المطلوب وجود مخزن مؤقت دائري أساسي ، ولكن ليس لتجاوز أي عناصر بداخله.
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
| ||||||
إرجاع القيم |
|
السمات العامة
mAppData
void * mAppData
سياق اختياري يوفره المستخدم ليتم استخدامه مع معالجة رد الاتصال للعنصر الذي تم إخلاؤه.
mImplicitProfileId
uint32_t mImplicitProfileId
mProcessEvictedElement
ProcessEvictedElementFunct mProcessEvictedElement
رد اتصال اختياري يوفره المستخدم يعالج العنصر قبل إخراجه من المخزن المؤقت الدائري.
راجع تعريف نوع ProcessEvictedElementFunct للحصول على معلومات إضافية حول تنفيذ وظيفة mProcessEvictedElement.
الوظائف العامة
متاح DataLength
size_t AvailableDataLength( void ) const
طول البيانات
size_t DataLength( void ) const
إخلاء الرأس
WEAVE_ERROR EvictHead( void )
باجلاء أقدم المستوى الأعلى TLV عنصر في WeaveCircularTLVBuffer .
هذه الوظيفة يزيل أقدم مستوى أعلى TLV عنصر في المخزن المؤقت. فإن وظيفة استدعاء رد الاتصال المسجلة في mProcessEvictedElement لمعالجة عنصر قبل الإزالة. إذا كان الاستدعاء بإرجاع أي شيء ولكن WEAVE_NO_ERROR ، لا يتم إزالة هذا العنصر. وبالمثل، إذا حدث أي خطأ آخر لا عناصر داخل المنطقة العازلة وغيرها الكامنة WeaveCircularTLVBuffer لم يتغير.
تفاصيل | |||||
---|---|---|---|---|---|
إرجاع القيم |
|
FinalizeBuffer
WEAVE_ERROR FinalizeBuffer( TLVWriter & ioWriter, uint8_t *inBufStart, uint32_t inBufLen )
FinalizeBuffer ضبط WeaveCircularTLVBuffer
دولة على الانتهاء من الإخراج منTLVWriter .
تؤثر هذه الوظيفة على موضع ذيل قائمة الانتظار.
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
| ||||||
إرجاع القيم |
|
GetNewBuffer
WEAVE_ERROR GetNewBuffer( TLVWriter & ioWriter, uint8_t *& outBufStart, uint32_t & outBufLen )
الحصول على مساحة إضافية للTLVWriter .
في الواقع ، تستخرج الوظيفة عنصرًا من المخزن المؤقت الدائري ، وتضبط رأس قائمة انتظار المخزن المؤقت
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
| ||||||
إرجاع القيم |
|
GetNextBuffer
WEAVE_ERROR GetNextBuffer( TLVReader & ioReader, const uint8_t *& outBufStart, uint32_t & outBufLen )
الحصول على مساحة إضافية للTLVReader .
التخزين التي توفرها WeaveCircularTLVBuffer يمكن ملفوف داخل المخزن المؤقت. توفر هذه الوظيفة لنا القدرة على مطابقة التخزين المؤقت المخزن المؤقت دائري إلىTLVReader القيود. سيجد القارئ يقرأ في معظم mQueueSize
بايت من المخزن المؤقت.
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
| ||||||
إرجاع القيم |
|
GetQueue
uint8_t * GetQueue( void ) const
GetQueueSize
size_t GetQueueSize( void ) const
QueueHead
uint8_t * QueueHead( void ) const
QueueTail
uint8_t * QueueTail( void ) const
SetQueueHead
void SetQueueHead( uint8_t *aQueueHead )
SetQueueLength
void SetQueueLength( size_t aQueueLength )
WeaveCircularTLVBuffer
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength )
WeaveCircularTLVBuffer المنشئ.
تفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
WeaveCircularTLVBuffer
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength, uint8_t *inHead )
WeaveCircularTLVBuffer المنشئ.
تفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
وظائف ثابتة عامة
FinalizeBufferFunct
WEAVE_ERROR FinalizeBufferFunct( TLVWriter & ioWriter, uintptr_t inBufHandle, uint8_t *inBufStart, uint32_t inBufLen )
والترامبولين ل WeaveCircularTLVBuffer :: FinalizeBuffer .
تفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
| ||||||||
إرجاع القيم |
|
GetNewBufferFunct
WEAVE_ERROR GetNewBufferFunct( TLVWriter & ioWriter, uintptr_t & inBufHandle, uint8_t *& outBufStart, uint32_t & outBufLen )
والترامبولين لجلب المزيد من المساحة للTLVWriter .
تفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
| ||||||||
إرجاع القيم |
|
GetNextBufferFunct
WEAVE_ERROR GetNextBufferFunct( TLVReader & ioReader, uintptr_t & inBufHandle, const uint8_t *& outBufStart, uint32_t & outBufLen )
والترامبولين ل WeaveCircularTLVBuffer :: GetNextBuffer .
تفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
| ||||||||
إرجاع القيم |
|
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. Thread is a registered trademark of the Thread Group, Inc.
Last updated 2020-08-28 UTC.