Scopira  20080306
scopira::tool::cacheoflow Class Reference

#include <cacheflow.h>

Inheritance diagram for scopira::tool::cacheoflow:
scopira::tool::oflow_i scopira::tool::flow_i scopira::tool::object

Public Member Functions

 cacheoflow (bool doref, oflow_i *out, size_t buffersize=32768)
 
 ~cacheoflow ()
 dtor
 
virtual bool failed (void) const
 are we in a failed state?
 
virtual size_t write (const byte_t *_buf, size_t _size)
 write a raw block of data
 
virtual size_t write_byte (byte_t b)
 writes a byte
 
void open (oflow_i *in)
 opens a new link
 
void close (void)
 close the current link
 
void flush_cache (void)
 
- Public Member Functions inherited from scopira::tool::oflow_i
template<class TT >
size_t write_array (const TT *_buf, size_t _numelem)
 
size_t write_void (const void *_buf, size_t _size)
 
- 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< oflow_idm_out
 
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

◆ cacheoflow()

scopira::tool::cacheoflow::cacheoflow ( bool  doref,
oflow_i out,
size_t  buffersize = 32768 
)

Constructor.

Parameters
dorefshould out be ref counted
outthe oflow to put data to
buffersizethe buffer size of the cache
Author
Aleksander Demko

Member Function Documentation

◆ flush_cache()

void scopira::tool::cacheoflow::flush_cache ( void  )

flushes the cache to the output stream outside users dont really need to call this, unless they want to force/sync flushes


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