|
Stxxl
1.2.1
|
Encapsulates asynchronous buffered block writing engine. More...
#include <buf_writer.h>

Public Member Functions | |
| buffered_writer (unsigned_type write_buf_size, unsigned_type write_batch_size) | |
| Constructs an object. | |
| block_type * | get_free_block () |
| Returns free block from the internal buffer pool. | |
| block_type * | write (block_type *filled_block, const bid_type &bid) |
| Submits block for writing. | |
| void | flush () |
| Flushes not yet written buffers. | |
| virtual | ~buffered_writer () |
| Flushes not yet written buffers and frees used memory. | |
Encapsulates asynchronous buffered block writing engine.
buffered_writer overlaps I/Os with filling of output buffer.
|
inline |
Constructs an object.
| write_buf_size | number of write buffers to use |
| write_batch_size | number of blocks to accumulate in order to flush write requests (bulk buffered writing) |
|
inlinevirtual |
Flushes not yet written buffers and frees used memory.
References request::wait().
|
inline |
Flushes not yet written buffers.
References request::wait().
|
inline |
Returns free block from the internal buffer pool.
References request::poll(), and wait_any().
Referenced by buffered_writer< block_type >::write().
|
inline |
Submits block for writing.
| filled_block | pointer to the block |
filled_block must be value returned by get_free_block() or write() methods | bid | block identifier, a place to write data of the filled_block |
References buffered_writer< block_type >::get_free_block(), and request::wait().
1.8.1.2