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