buffered_writer< block_type > Class Template Reference
[Block scheduling sublayer]

Encapsulates asynchronous buffered block writing engine. More...

#include <buf_writer.h>

Inheritance diagram for buffered_writer< block_type >:

Inheritance graph
[legend]
Collaboration diagram for buffered_writer< block_type >:

Collaboration graph
[legend]

List of all members.

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.


Detailed Description

template<typename block_type>
class buffered_writer< block_type >

Encapsulates asynchronous buffered block writing engine.

buffered_writer overlaps I/Os with filling of output buffer.


Constructor & Destructor Documentation

template<typename block_type>
buffered_writer< block_type >::buffered_writer ( unsigned_type  write_buf_size,
unsigned_type  write_batch_size 
) [inline]

Constructs an object.

Parameters:
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)

template<typename block_type>
virtual buffered_writer< block_type >::~buffered_writer (  )  [inline, virtual]

Flushes not yet written buffers and frees used memory.


Member Function Documentation

template<typename block_type>
block_type* buffered_writer< block_type >::get_free_block (  )  [inline]

Returns free block from the internal buffer pool.

Returns:
pointer to the block from the internal buffer pool

Referenced by buffered_writer< BlkTp_ >::write().

template<typename block_type>
block_type* buffered_writer< block_type >::write ( block_type *  filled_block,
const bid_type &  bid 
) [inline]

Submits block for writing.

Parameters:
filled_block pointer to the block
Remarks:
parameter filled_block must be value returned by get_free_block() or write() methods
Parameters:
bid block identifier, a place to write data of the filled_block
Returns:
pointer to the new free block from the pool

template<typename block_type>
void buffered_writer< block_type >::flush (  )  [inline]

Flushes not yet written buffers.


The documentation for this class was generated from the following file:

Generated on Wed Apr 21 06:45:45 2010 for Stxxl by  doxygen 1.5.6