libdar::cache Class Reference
[Private]

the cache class implements a very basic read/write caching mechanisme More...

#include <cache.hpp>

Inherits libdar::generic_file.

List of all members.

Public Member Functions

 cache (user_interaction &dialog, generic_file &hidden, U_I initial_size=10240, U_I unused_read_ratio=10, U_I observation_read_number=100, U_I max_size_hit_read_ratio=50, U_I unused_write_ratio=10, U_I observation_write_number=100, U_I max_size_hit_write_ratio=50)
bool skip (const infinint &pos)
 skip at the absolute position
bool skip_to_eof ()
 skip to the end of file
bool skip_relative (S_I x)
 skip relatively to the current position
infinint get_position ()
 get the current read/write position

Protected Member Functions

S_I inherited_read (char *a, size_t size)
S_I inherited_write (const char *a, size_t size)

Detailed Description

the cache class implements a very basic read/write caching mechanisme

it is intended to reduce context switches when no compression is used and when reading or writing catalogue through a pipe. The catalogue read and write is done by calling dump/constructor methods of the many objects that a catalogue can contain. This makes a lot of small read or write, which make very poor performances when used over the network through a pipe to ssh. When compression is used, the problem disapears as the compression engine gather these many small read or write into much bigger ones. This in only when there is no compression that that this class is useful (and used).

Definition at line 50 of file cache.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
Generated on Wed Apr 14 22:13:32 2010 for Disk ARchive by  doxygen 1.6.3