ChunkedFile reads and writes files which contain interleaved chunks of compressed and uncompressed data. More...
#include <chunked_file.h>
Public Member Functions | |
| ChunkedFile () | |
| void | close () |
| close the file More... | |
| void | decompress (CompressionType compression, uint8_t *dest, unsigned int dest_len, uint8_t *source, unsigned int source_len) |
| uint32_t | getCompressedBytesIn () const |
| return the number of bytes written to current compressed stream More... | |
| std::string | getFileName () const |
| return path of currently open file More... | |
| std::string | getline () |
| uint64_t | getOffset () const |
| return current offset from the beginning of the file More... | |
| bool | good () const |
| return true if hasn't reached end-of-file and no error More... | |
| bool | isOpen () const |
| return true if file is open for reading or writing More... | |
| void | openRead (std::string const &filename) |
| open file for reading More... | |
| void | openReadWrite (std::string const &filename) |
| open file for reading & writing More... | |
| void | openWrite (std::string const &filename) |
| open file for writing More... | |
| void | read (void *ptr, size_t size) |
| read size bytes from the file into ptr More... | |
| void | seek (uint64_t offset, int origin=std::ios_base::beg) |
| seek to given offset from origin More... | |
| void | setReadMode (CompressionType type) |
| void | setWriteMode (CompressionType type) |
| void | swap (ChunkedFile &other) |
| bool | truncate (uint64_t length) |
| void | write (std::string const &s) |
| void | write (void *ptr, size_t size) |
| write size bytes from ptr to the file More... | |
| ~ChunkedFile () | |
Private Member Functions | |
| ChunkedFile (const ChunkedFile &) | |
| void | clearUnused () |
| void | open (std::string const &filename, std::string const &mode) |
| ChunkedFile & | operator= (const ChunkedFile &) |
Private Attributes | |
| uint64_t | compressed_in_ |
| number of bytes written to current compressed stream More... | |
| FILE * | file_ |
| file pointer More... | |
| std::string | filename_ |
| path to file More... | |
| int | nUnused_ |
| number of bytes of extra data read by compressed stream More... | |
| uint64_t | offset_ |
| current position in the file More... | |
| boost::shared_ptr< Stream > | read_stream_ |
| boost::shared_ptr< StreamFactory > | stream_factory_ |
| char * | unused_ |
| extra data read by compressed stream More... | |
| boost::shared_ptr< Stream > | write_stream_ |
Friends | |
| class | Stream |
ChunkedFile reads and writes files which contain interleaved chunks of compressed and uncompressed data.
Definition at line 51 of file chunked_file.h.
| rosbag::ChunkedFile::ChunkedFile | ( | ) |
Definition at line 64 of file chunked_file.cpp.
| rosbag::ChunkedFile::~ChunkedFile | ( | ) |
Definition at line 74 of file chunked_file.cpp.
|
private |
|
private |
Definition at line 223 of file chunked_file.cpp.
| void rosbag::ChunkedFile::close | ( | ) |
close the file
Definition at line 135 of file chunked_file.cpp.
| void rosbag::ChunkedFile::decompress | ( | CompressionType | compression, |
| uint8_t * | dest, | ||
| unsigned int | dest_len, | ||
| uint8_t * | source, | ||
| unsigned int | source_len | ||
| ) |
Definition at line 219 of file chunked_file.cpp.
| uint32_t rosbag::ChunkedFile::getCompressedBytesIn | ( | ) | const |
return the number of bytes written to current compressed stream
Definition at line 195 of file chunked_file.cpp.
| string rosbag::ChunkedFile::getFileName | ( | ) | const |
return path of currently open file
Definition at line 133 of file chunked_file.cpp.
| string rosbag::ChunkedFile::getline | ( | ) |
Definition at line 207 of file chunked_file.cpp.
| uint64_t rosbag::ChunkedFile::getOffset | ( | ) | const |
return current offset from the beginning of the file
Definition at line 194 of file chunked_file.cpp.
| bool rosbag::ChunkedFile::good | ( | ) | const |
return true if hasn't reached end-of-file and no error
Definition at line 128 of file chunked_file.cpp.
| bool rosbag::ChunkedFile::isOpen | ( | ) | const |
return true if file is open for reading or writing
Definition at line 132 of file chunked_file.cpp.
|
private |
Definition at line 82 of file chunked_file.cpp.
| void rosbag::ChunkedFile::openRead | ( | std::string const & | filename | ) |
open file for reading
Definition at line 80 of file chunked_file.cpp.
| void rosbag::ChunkedFile::openReadWrite | ( | std::string const & | filename | ) |
open file for reading & writing
Definition at line 78 of file chunked_file.cpp.
| void rosbag::ChunkedFile::openWrite | ( | std::string const & | filename | ) |
open file for writing
Definition at line 79 of file chunked_file.cpp.
|
private |
| void rosbag::ChunkedFile::read | ( | void * | ptr, |
| size_t | size | ||
| ) |
read size bytes from the file into ptr
Definition at line 199 of file chunked_file.cpp.
| void rosbag::ChunkedFile::seek | ( | uint64_t | offset, |
| int | origin = std::ios_base::beg |
||
| ) |
seek to given offset from origin
Definition at line 181 of file chunked_file.cpp.
| void rosbag::ChunkedFile::setReadMode | ( | CompressionType | type | ) |
Definition at line 169 of file chunked_file.cpp.
| void rosbag::ChunkedFile::setWriteMode | ( | CompressionType | type | ) |
Definition at line 157 of file chunked_file.cpp.
| void rosbag::ChunkedFile::swap | ( | ChunkedFile & | other | ) |
Definition at line 228 of file chunked_file.cpp.
| bool rosbag::ChunkedFile::truncate | ( | uint64_t | length | ) |
Definition at line 201 of file chunked_file.cpp.
| void rosbag::ChunkedFile::write | ( | std::string const & | s | ) |
| void rosbag::ChunkedFile::write | ( | void * | ptr, |
| size_t | size | ||
| ) |
write size bytes from ptr to the file
Definition at line 198 of file chunked_file.cpp.
|
friend |
Definition at line 53 of file chunked_file.h.
|
private |
number of bytes written to current compressed stream
Definition at line 95 of file chunked_file.h.
|
private |
file pointer
Definition at line 93 of file chunked_file.h.
|
private |
path to file
Definition at line 92 of file chunked_file.h.
|
private |
number of bytes of extra data read by compressed stream
Definition at line 97 of file chunked_file.h.
|
private |
current position in the file
Definition at line 94 of file chunked_file.h.
|
private |
Definition at line 101 of file chunked_file.h.
|
private |
Definition at line 99 of file chunked_file.h.
|
private |
extra data read by compressed stream
Definition at line 96 of file chunked_file.h.
|
private |
Definition at line 102 of file chunked_file.h.