![]() |
Disk ARchive
2.6.8
Full featured and portable backup and archiving tool
|
let a generic_file be managed by another thread More...
#include <generic_thread.hpp>
Inherits libdar::generic_file.
Public Member Functions | |
generic_thread (generic_file *ptr, U_I data_block_size=tampon_block_size, U_I data_num_block=tampon_num_block, U_I ctrl_block_size=tampon_block_size_ctrl, U_I ctrl_num_block=tampon_num_block_ctrl) | |
constructor More... | |
generic_thread (const generic_thread &ref)=delete | |
generic_thread (generic_thread &&ref) noexcept=delete | |
generic_thread & | operator= (const generic_thread &ref)=delete |
generic_thread & | operator= (generic_thread &&ref) noexcept=delete |
virtual bool | skippable (skippability direction, const infinint &amount) override |
whether the implementation is able to skip More... | |
virtual bool | skip (const infinint &pos) override |
skip at the absolute position More... | |
virtual bool | skip_to_eof () override |
skip to the end of file | |
virtual bool | skip_relative (S_I x) override |
skip relatively to the current position | |
virtual infinint | get_position () const override |
get the current read/write position | |
![]() | |
generic_file (gf_mode m) | |
main constructor | |
generic_file (const generic_file &ref) | |
copy constructor | |
generic_file (generic_file &&ref) noexcept | |
move constructor | |
generic_file & | operator= (const generic_file &ref) |
assignment operator | |
generic_file & | operator= (generic_file &&ref) noexcept |
move operator | |
~generic_file () noexcept(false) | |
virtual destructor, More... | |
void | terminate () |
destructor-like call, except that it is allowed to throw exceptions | |
bool | operator== (generic_file &ref) |
bool | operator!= (generic_file &ref) |
gf_mode | get_mode () const |
retreive the openning mode for this object | |
void | read_ahead (const infinint &amount) |
void | ignore_read_ahead (bool mode) |
virtual U_I | read (char *a, U_I size) override |
read data from the generic_file inherited from proto_generic_file | |
virtual void | write (const char *a, U_I size) override |
write data to the generic_file inherited from proto_generic_file | |
void | write (const std::string &arg) |
write a string to the generic_file More... | |
S_I | read_back (char &a) |
skip back one char, read on char and skip back one char | |
S_I | read_forward (char &a) |
read one char | |
virtual void | copy_to (generic_file &ref) |
copy all data from current position to the object in argument | |
virtual void | copy_to (generic_file &ref, const infinint &crc_size, crc *&value) |
copy all data from the current position to the object in argument and computes a CRC value of the transmitted data More... | |
U_32 | copy_to (generic_file &ref, U_32 size) |
small copy (up to 4GB) with CRC calculation | |
infinint | copy_to (generic_file &ref, infinint size) |
copy the given amount to the object in argument | |
bool | diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value) |
compares the contents with the object in argument More... | |
bool | diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value, infinint &err_offset) |
void | reset_crc (const infinint &width) |
reset CRC on read or writen data More... | |
bool | crc_status () const |
to known whether CRC calculation is activated or not | |
crc * | get_crc () |
get CRC of the transfered date since last reset More... | |
void | sync_write () |
write any pending data | |
void | flush_read () |
be ready to read at current position, reseting all pending data for reading, cached and in compression engine for example | |
![]() | |
proto_generic_file (const proto_generic_file &ref)=default | |
copy constructor | |
proto_generic_file (proto_generic_file &&ref) noexcept=default | |
move constructor | |
proto_generic_file & | operator= (const proto_generic_file &ref)=default |
assignment operator | |
proto_generic_file & | operator= (proto_generic_file &&ref) noexcept=default |
move operator | |
virtual | ~proto_generic_file () noexcept(false) |
virtual destructor More... | |
Protected Member Functions | |
virtual void | inherited_read_ahead (const infinint &amount) override |
tells the object that several calls to read() will follow to probably obtain at least the given amount of data More... | |
virtual U_I | inherited_read (char *a, U_I size) override |
implementation of read() operation More... | |
virtual void | inherited_write (const char *a, U_I size) override |
implementation of the write() operation More... | |
virtual void | inherited_sync_write () override |
generic_file inherited method to sync all pending writes More... | |
virtual void | inherited_flush_read () override |
reset internal engine, flush caches in order to read the data at current position More... | |
virtual void | inherited_terminate () override |
destructor-like call, except that it is allowed to throw exceptions More... | |
![]() | |
void | set_mode (gf_mode x) |
bool | is_terminated () const |
Private Member Functions | |
void | send_order () |
void | read_answer () |
void | check_answer (msg_type expected) |
void | wake_up_slave_if_asked () |
check whether an order to wakeup the slave has been received, and send wake up the slave | |
void | release_block_answer () |
void | release_data_ptr () |
void | purge_data_pipe () |
drops all data in the toslave_data pipe | |
void | my_run () |
void | my_join () |
Private Attributes | |
libthreadar::fast_tampon< char > | toslave_data |
libthreadar::fast_tampon< char > | tomaster_data |
libthreadar::fast_tampon< char > | toslave_ctrl |
libthreadar::fast_tampon< char > | tomaster_ctrl |
slave_thread * | remote |
bool | reached_eof |
whether we reached end of file | |
char | data_header |
contains 1 byte header for data | |
char | data_header_eof |
contains 1 byte header for data + eof | |
bool | running |
whether a remote is expected to run, tid is then set | |
pthread_t | tid |
thread id of remote | |
messaging_encode | order |
messaging_decode | answer |
unsigned int | num |
char * | ptr |
label | dataname |
Additional Inherited Members | |
![]() | |
enum | skippability { skip_backward, skip_forward } |
let a generic_file be managed by another thread
Definition at line 44 of file generic_thread.hpp.