#include <prefetch_pool.h>
Public Member Functions | |
prefetch_pool (unsigned_type init_size=1) | |
Constructs pool. | |
virtual | ~prefetch_pool () |
Waits for completion of all ongoing read requests and frees memory. | |
unsigned_type | size () const |
Returns number of owned blocks. | |
bool | hint (bid_type bid) |
Gives a hint for prefetching a block. | |
request_ptr | read (block_type *&block, bid_type bid) |
Reads block. If this block is cached block is not read but passed from the cache. | |
unsigned_type | resize (unsigned_type new_size) |
Resizes size of the pool. |
prefetch_pool< BlockType >::prefetch_pool | ( | unsigned_type | init_size = 1 |
) | [inline, explicit] |
Constructs pool.
init_size | initial number of blocks in the pool |
virtual prefetch_pool< BlockType >::~prefetch_pool | ( | ) | [inline, virtual] |
Waits for completion of all ongoing read requests and frees memory.
unsigned_type prefetch_pool< BlockType >::size | ( | ) | const [inline] |
bool prefetch_pool< BlockType >::hint | ( | bid_type | bid | ) | [inline] |
Gives a hint for prefetching a block.
bid | address of a block to be prefetched |
true
if there was a free block to do prefetch and prefetching was scheduled, false
otherwise read
method) calling hint
function has no effect request_ptr prefetch_pool< BlockType >::read | ( | block_type *& | block, | |
bid_type | bid | |||
) | [inline] |
Reads block. If this block is cached block is not read but passed from the cache.
block | block object, where data to be read to. If block was cached block 's ownership goes to the pool and block from cache is returned in block value. | |
bid | address of the block |
block
parameter must be allocated dynamically using new
. unsigned_type prefetch_pool< BlockType >::resize | ( | unsigned_type | new_size | ) | [inline] |
Resizes size of the pool.
new_size | desired size of the pool. If some blocks are used for prefetching, these blocks can't be freed. Only free blocks (not in prefetching) can be freed by reducing the size of the pool calling this method. |