|
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 |
Public Member Functions inherited from NES::Runtime::AbstractBufferProvider | |
| 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.