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_t inBufferLength, uint8_t * inHead)
WEAVE_ERROR GetNewBuffer (TLVWriter & ioWriter, uint8_t *& outBufStart, uint32_t & outBufLen)
WEAVE_ERROR FinalizeBuffer (TLVWriter & ioWriter, uint8_t * inBufStart, uint32_t inBufLen)
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_t inBufHandle, uint8_t * inBufStart, uint32_t inBufLen)
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