diff options
author | vng <viktor.govako@gmail.com> | 2011-01-02 23:22:07 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:09:03 +0300 |
commit | b33ae08c7968744e969f9e75dcd0e8bd7a58f400 (patch) | |
tree | aaaf57744360b7d7e136aaf5c2c41b881b9e9926 /coding/file_container.hpp | |
parent | 26bf2f3c34321fd921f4a545c8255dbee3f2a8df (diff) |
OP_APPEND functionality in FilesContainerW.
Diffstat (limited to 'coding/file_container.hpp')
-rw-r--r-- | coding/file_container.hpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/coding/file_container.hpp b/coding/file_container.hpp index 01da1e670c..fca57f4459 100644 --- a/coding/file_container.hpp +++ b/coding/file_container.hpp @@ -39,6 +39,8 @@ protected: typedef vector<Info> info_cont_t; info_cont_t m_info; + + void ReadInfo(FileReader & reader); }; class FilesContainerR : public FilesContainerBase @@ -48,9 +50,11 @@ class FilesContainerR : public FilesContainerBase FileReader m_source; public: - FilesContainerR(string const & fName); + explicit FilesContainerR(string const & fName, + uint32_t logPageSize = 10, + uint32_t logPageCount = 10); - FileReader GetReader(Tag const & tag); + FileReader GetReader(Tag const & tag) const; }; class FilesContainerW : public FilesContainerBase @@ -61,10 +65,16 @@ class FilesContainerW : public FilesContainerBase uint64_t SaveCurrentSize(); + bool m_needRewrite; + public: - FilesContainerW(string const & fName); + FilesContainerW(string const & fName, + FileWriter::Op op = FileWriter::OP_WRITE_TRUNCATE); FileWriter GetWriter(Tag const & tag); + void Append(string const & fName, Tag const & tag); + void Append(vector<char> const & buffer, Tag const & tag); + void Finish(); }; |