Scopira  20080306
scopira::tool::cacheiflow Class Reference

#include <cacheflow.h>

Inheritance diagram for scopira::tool::cacheiflow:
scopira::tool::iflow_i scopira::tool::flow_i scopira::tool::object

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_iprint (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_idm_in
 
circular_vector< byte_tdm_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)
 

Detailed Description

A performancing-enhancing cache filter.

Author
Aleksander Demko

Constructor & Destructor Documentation

◆ cacheiflow()

scopira::tool::cacheiflow::cacheiflow ( bool  doref,
iflow_i innie,
size_t  buffersize = 32768 
)

Constructor.

Parameters
dorefshould innie be ref counted
inniethe iflow to get data from
buffersizethe buffer size of the cache
Author
Aleksander Demko

Member Function Documentation

◆ short_rewind()

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


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