Scopira
20080306
|
#include <cacheflow.h>
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_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< oflow_i > | dm_out |
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::cacheoflow::cacheoflow | ( | bool | doref, |
oflow_i * | out, | ||
size_t | buffersize = 32768 |
||
) |
Constructor.
doref | should out be ref counted |
out | the oflow to put data to |
buffersize | the buffer size of the 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