24 #include <Vector/BLF/platform.h>
26 #include <condition_variable>
32 #include <Vector/BLF/AbstractFile.h>
33 #include <Vector/BLF/LogContainer.h>
35 #include <Vector/BLF/vector_blf_export.h>
58 std::streamsize gcount()
const override;
59 void read(
char * s, std::streamsize n)
override;
60 std::streampos tellg()
override;
61 void seekg(std::streamoff off,
const std::ios_base::seekdir way = std::ios_base::cur)
override;
62 void write(
const char * s, std::streamsize n)
override;
63 std::streampos tellp()
override;
64 bool good()
const override;
65 bool eof()
const override;
77 virtual void write(
const std::shared_ptr<LogContainer> & logContainer);
82 virtual void nextLogContainer();
89 virtual std::streamsize fileSize()
const;
96 virtual void setFileSize(std::streamsize fileSize);
104 virtual void setBufferSize(std::streamsize bufferSize);
109 virtual void dropOldData();
116 virtual DWORD defaultLogContainerSize()
const;
123 virtual void setDefaultLogContainerSize(DWORD defaultLogContainerSize);
136 std::list<std::shared_ptr<LogContainer>> m_data {};
139 std::streampos m_tellg {};
142 std::streampos m_tellp {};
145 std::streamsize m_gcount {};
148 std::streamsize m_fileSize {std::numeric_limits<std::streamsize>::max()};
151 std::streamsize m_bufferSize {std::numeric_limits<std::streamsize>::max()};
154 std::ios_base::iostate m_rdstate {std::ios_base::goodbit};
157 mutable std::mutex m_mutex {};
160 DWORD m_defaultLogContainerSize {0x20000};
172 std::shared_ptr<LogContainer> logContainerContaining(std::streampos pos);
Definition: UncompressedFile.h:53
std::condition_variable tellpChanged
Definition: UncompressedFile.h:129
std::condition_variable tellgChanged
Definition: UncompressedFile.h:126
Definition: AbstractFile.h:36