ไม่มี:: สาน:: ทีแอลวี:: สานวงกลมTLVBuffer
#include <src/lib/core/WeaveCircularTLVBuffer.h>
WeaveCircularTLVBuffer มีที่เก็บวงกลมสำหรับNL :: สาน :: TLV :: TLVWriter และ NL :: สาน :: TLVTLVReader
สรุป
NL :: สาน :: TLV :: TLVWriter คือสามารถที่จะเขียนเป็นจำนวนมากมายของ TLV รายการไป WeaveCircularTLVBuffer ตราบใดที่แต่ละ TLV เหมาะกับรายการทั้งหมดภายในการจัดเก็บให้NL :: สาน :: 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 องค์ประกอบก่อนที่จะถูกขับไล่ออกจาก NL :: สาน :: 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 |
ฟังก์ชั่นคงที่สาธารณะ Public | |
---|---|
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 องค์ประกอบก่อนที่จะถูกขับไล่ออกจาก NL :: สาน :: TLV :: WeaveCircularTLVBuffer
ฟังก์ชั่นประเภทนี้จะใช้ในการประมวลผล TLV องค์ประกอบจะถูกขับไล่ออกจากบัฟเฟอร์ ฟังก์ชั่นจะได้รับNL :: สาน :: TLV :: TLVReader ตำแหน่งในองค์ประกอบเกี่ยวกับการที่จะถูกลบเช่นเดียวกับบริบท * โมฆะที่ผู้ใช้อาจได้ให้สภาพแวดล้อมเพิ่มเติมสำหรับการเรียกกลับ ถ้าฟังก์ชันการประมวลผลองค์ประกอบที่ประสบความสำเร็จนั้นจะต้องกลับ WEAVE_NO_ERROR ; หมายนี้ไป WeaveCircularTLVBuffer ว่าองค์ประกอบอาจถูกขับไล่อย่างปลอดภัย ใด ๆ ค่าตอบแทนอื่น ๆ จะถือว่าเป็นข้อผิดพลาดและจะป้องกันไม่ให้ WeaveCircularTLVBuffer จากขี้บ่นองค์ประกอบภายใต้การพิจารณา
หมายเหตุ: การเรียกกลับนี้อาจจะถูกใช้เพื่อบังคับ WeaveCircularTLVBuffer ไม่ขับไล่องค์ประกอบ สิ่งนี้อาจมีประโยชน์ในหลาย ๆ สถานการณ์ เมื่อต้องการให้มีบัฟเฟอร์แบบวงกลมแฝงอยู่ แต่ไม่ต้องแทนที่องค์ประกอบใด ๆ ภายในนั้น
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
ส่งกลับค่า |
|
คุณลักษณะสาธารณะ
mAppData
void * mAppData
บริบททางเลือกที่ผู้ใช้ระบุเพื่อใช้กับการประมวลผลการโทรกลับองค์ประกอบที่ถูกขับออก
mImplicitProfileId
uint32_t mImplicitProfileId
mProcessEvictedElement
ProcessEvictedElementFunct mProcessEvictedElement
การเรียกกลับที่เป็นทางเลือกที่ผู้ใช้จัดหาซึ่งประมวลผลองค์ประกอบก่อนที่จะขับออกจากบัฟเฟอร์แบบวงกลม
ดูข้อกำหนดประเภท ProcessEvictedElementFunct เกี่ยวกับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ฟังก์ชัน mProcessEvictedElement
งานสาธารณะ
AvailableDataLength
size_t AvailableDataLength( void ) const
DataLength
size_t DataLength( void ) const
EvictHead
WEAVE_ERROR EvictHead( void )
evicts ระดับบนสุดที่เก่าแก่ที่สุด 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
ในความเป็นจริง ฟังก์ชันขับไล่องค์ประกอบออกจากบัฟเฟอร์แบบวงกลม และปรับส่วนหัวของคิวบัฟเฟอร์นี้ this
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
ส่งกลับค่า |
|
GetNextBuffer
WEAVE_ERROR GetNextBuffer( TLVReader & ioReader, const uint8_t *& outBufStart, uint32_t & outBufLen )
ได้รับพื้นที่เพิ่มเติมสำหรับTLVReader
การจัดเก็บข้อมูลที่มีให้โดย WeaveCircularTLVBuffer อาจจะวิจิตรภายในบัฟเฟอร์ ฟังก์ชั่นนี้จะช่วยให้เรามีความสามารถที่จะตรงกับบัฟเฟอร์ของกันชนกลมไปTLVReader จำกัด ผู้อ่านจะอ่านมากที่สุด mQueueSize
ไบต์จากบัฟเฟอร์
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||
ส่งกลับค่า |
|
รับคิว
uint8_t * GetQueue( void ) const
GetQueueSize
size_t GetQueueSize( void ) const
คิวเฮด
uint8_t * QueueHead( void ) const
QueueTail
uint8_t * QueueTail( void ) const
SetQueueHead
void SetQueueHead( uint8_t *aQueueHead )
SetQueueLength
void SetQueueLength( size_t aQueueLength )
สานวงกลมTLVBuffer
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength )
WeaveCircularTLVBuffer คอนสตรัค
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
สานวงกลมTLVBuffer
WeaveCircularTLVBuffer( uint8_t *inBuffer, size_t inBufferLength, uint8_t *inHead )
WeaveCircularTLVBuffer คอนสตรัค
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ฟังก์ชั่นคงที่สาธารณะ Public
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
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
| ||||||||
ส่งกลับค่า |
|