class WeaveCircularTLVBuffer
Defined at line 57 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
WeaveCircularTLVBuffer provides circular storage for the
nl::Weave::TLV::TLVWriter and nl::Weave::TLVTLVReader. nl::Weave::TLV::TLVWriter is able to write an
unbounded number of TLV entries to the WeaveCircularTLVBuffer
as long as each individual TLV entry fits entirely within the
provided storage. The nl::Weave::TLV::TLVReader will read at most the size of
the buffer, but will accommodate the wraparound within the
buffer.
Public Members
uint32_t mImplicitProfileId
void * mAppData
ProcessEvictedElementFunct mProcessEvictedElement
Public Methods
void WeaveCircularTLVBuffer (uint8_t * inBuffer, size_t inBufferLength)
void WeaveCircularTLVBuffer (uint8_t *inBuffer,size_tinBufferLength,uint8_t *inHead)
WEAVE_ERROR GetNewBuffer (TLVWriter &ioWriter,uint8_t *&outBufStart,uint32_t &outBufLen)
WEAVE_ERROR FinalizeBuffer (TLVWriter &ioWriter,uint8_t *inBufStart,uint32_tinBufLen)
WEAVE_ERROR GetNextBuffer (TLVReader &ioReader,const uint8_t *&outBufStart,uint32_t &outBufLen)
uint8_t * QueueHead ()
Defined at line 67 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
uint8_t * QueueTail ()
Defined at line 68 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
size_t DataLength ()
Defined at line 69 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
size_t AvailableDataLength ()
Defined at line 70 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
WEAVE_ERROR EvictHead ()
WEAVE_ERROR GetNewBufferFunct (TLVWriter &ioWriter,uintptr_t &inBufHandle,uint8_t *&outBufStart,uint32_t &outBufLen)
WEAVE_ERROR FinalizeBufferFunct (TLVWriter &ioWriter,uintptr_tinBufHandle,uint8_t *inBufStart,uint32_tinBufLen)
WEAVE_ERROR GetNextBufferFunct (TLVReader &ioReader,uintptr_t &inBufHandle,const uint8_t *&outBufStart,uint32_t &outBufLen)
size_t GetQueueSize ()
Defined at line 71 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
uint8_t * GetQueue ()
Defined at line 72 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
void SetQueueHead (uint8_t * aQueueHead)
Defined at line 73 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h
void SetQueueLength (size_t aQueueLength)
Defined at line 74 of file gen/third_party/openweave-core/src/include/Weave/Core/WeaveCircularTLVBuffer.h