|
Scopira
20080306
|
#include <cacheflow.h>
Public Member Functions | |
| cacheiflow (bool doref, iflow_i *innie, size_t buffersize=32768) | |
| virtual bool | failed (void) const |
| are we in a failed state? | |
| virtual size_t | read (byte_t *_buf, size_t _maxsize) |
| read raw block data, returns num read in | |
| virtual size_t | read_byte (byte_t &out) |
| read one byte | |
| void | open (iflow_i *in) |
| opens a new link | |
| void | close (void) |
| close the current link | |
| void | short_rewind (void) |
| void | load_cache (void) |
| loads the cache... you need not call this explicitly | |
Public Member Functions inherited from scopira::tool::iflow_i | |
| template<class TT > | |
| size_t | read_array (TT *_buf, size_t _numelem) |
| size_t | read_void (void *_buf, size_t _maxsize) |
Public Member Functions inherited from scopira::tool::object | |
| virtual | ~object () |
| int | add_ref (void) const |
| bool | sub_ref (void) const |
| void | auto_ref (void) const |
| int | current_ref (void) const |
| virtual scopira::tool::oflow_i & | print (scopira::tool::oflow_i &o) const |
| virtual bool | load (scopira::tool::iobjflow_i &in) |
| virtual void | save (scopira::tool::oobjflow_i &out) const |
| bool | is_alive_object (void) const |
| bool | is_dead_object (void) const |
Protected Attributes | |
| count2_ptr< iflow_i > | dm_in |
| circular_vector< byte_t > | dm_cache |
| bool | dm_failed |
Additional Inherited Members | |
Public Types inherited from scopira::tool::flow_i | |
| enum | { input_c = 1, output_c = 2 } |
| typedef scopira::tool::byte_t | byte_t |
| typedef int | mode_t |
Protected Member Functions inherited from scopira::tool::object | |
| object (void) | |
| object (bool neverusecounter) | |
A performancing-enhancing cache filter.
| scopira::tool::cacheiflow::cacheiflow | ( | bool | doref, |
| iflow_i * | innie, | ||
| size_t | buffersize = 32768 |
||
| ) |
Constructor.
| doref | should innie be ref counted |
| innie | the iflow to get data from |
| buffersize | the buffer size of the cache |
| void scopira::tool::cacheiflow::short_rewind | ( | void | ) |
do a "short rewind", basically move the cache in pointer to the start of the cache. this only is useful if youre reading the starts of files