NebulaStream
0.6.213
NebulaStream is a data and application management framework for the internet of things
|
A local buffer pool that uses N exclusive buffers and then falls back to the global buffer manager. More...
#include <LocalBufferPool.hpp>
Public Member Functions | |
LocalBufferPool (const BufferManagerPtr &bufferManager, std::deque< detail::MemorySegment * > &&availableBuffers, size_t numberOfReservedBuffers) | |
Construct a new LocalBufferPool. More... | |
~LocalBufferPool () override | |
void | destroy () override |
Destroys this buffer pool and returns own buffers to global pool. More... | |
TupleBuffer | getBufferBlocking () override |
Provides a new TupleBuffer. This blocks until a buffer is available. More... | |
size_t | getBufferSize () const override |
size_t | getNumOfPooledBuffers () const override |
size_t | getNumOfUnpooledBuffers () const override |
std::optional< TupleBuffer > | getBufferNoBlocking () override |
Returns a new TupleBuffer wrapped in an optional or an invalid option if there is no buffer. More... | |
std::optional< TupleBuffer > | getBufferTimeout (std::chrono::milliseconds timeout_ms) override |
Returns a new Buffer wrapped in an optional or an invalid option if there is no buffer available within timeout_ms. More... | |
std::optional< TupleBuffer > | getUnpooledBuffer (size_t bufferSize) override |
Returns an unpooled buffer of size bufferSize wrapped in an optional or an invalid option if an error occurs. More... | |
size_t | getAvailableBuffers () const override |
provide number of available exclusive buffers More... | |
void | recyclePooledBuffer (detail::MemorySegment *memSegment) override |
Recycle a pooled buffer that is might be exclusive to the pool. More... | |
void | recycleUnpooledBuffer (detail::MemorySegment *buffer) override |
This calls is not supported and raises Runtime error. More... | |
virtual BufferManagerType | getBufferManagerType () const override |
![]() | |
virtual | ~AbstractBufferProvider () |
A local buffer pool that uses N exclusive buffers and then falls back to the global buffer manager.
|
explicit |
Construct a new LocalBufferPool.
bufferManager | the global buffer manager |
availableBuffers | deque of exclusive buffers |
numberOfReservedBuffers | number of exclusive bufferss |
References NES_ASSERT2_FMT, and NES_VERIFY.
|
override |
|
overridevirtual |
Destroys this buffer pool and returns own buffers to global pool.
Implements NES::Runtime::AbstractBufferProvider.
References NES_ASSERT2_FMT, and NES_DEBUG.
|
overridevirtual |
provide number of available exclusive buffers
Implements NES::Runtime::AbstractBufferProvider.
|
overridevirtual |
Provides a new TupleBuffer. This blocks until a buffer is available.
Implements NES::Runtime::AbstractBufferProvider.
References NES_THROW_RUNTIME_ERROR, and NES_VERIFY.
|
overridevirtual |
Implements NES::Runtime::AbstractBufferProvider.
References NES::Runtime::LOCAL.
|
overridevirtual |
Returns a new TupleBuffer wrapped in an optional or an invalid option if there is no buffer.
Implements NES::Runtime::AbstractBufferProvider.
References NES_ASSERT2_FMT.
|
overridevirtual |
Implements NES::Runtime::AbstractBufferProvider.
|
overridevirtual |
Returns a new Buffer wrapped in an optional or an invalid option if there is no buffer available within timeout_ms.
timeout_ms | the amount of time to wait for a new buffer to be retuned |
Implements NES::Runtime::AbstractBufferProvider.
References NES_ASSERT2_FMT.
|
overridevirtual |
Implements NES::Runtime::AbstractBufferProvider.
|
overridevirtual |
Implements NES::Runtime::AbstractBufferProvider.
|
overridevirtual |
Returns an unpooled buffer of size bufferSize wrapped in an optional or an invalid option if an error occurs.
bufferSize |
Implements NES::Runtime::AbstractBufferProvider.
References size().
|
overridevirtual |
Recycle a pooled buffer that is might be exclusive to the pool.
buffer |
Implements NES::Runtime::BufferRecycler.
References NES_THROW_RUNTIME_ERROR, and NES_VERIFY.
|
overridevirtual |
This calls is not supported and raises Runtime error.
buffer |
Implements NES::Runtime::BufferRecycler.
References NES_THROW_RUNTIME_ERROR.