7#include <Vector/BLF/platform.h>
9#include <condition_variable>
15#include <Vector/BLF/AbstractFile.h>
16#include <Vector/BLF/LogContainer.h>
18#include <Vector/BLF/vector_blf_export.h>
41 std::streamsize gcount()
const override;
42 void read(
char *
s, std::streamsize
n)
override;
43 std::streampos
tellg()
override;
44 void seekg(std::streamoff
off,
const std::ios_base::seekdir
way = std::ios_base::cur)
override;
45 void write(
const char *
s, std::streamsize
n)
override;
46 std::streampos
tellp()
override;
47 bool good()
const override;
48 bool eof()
const override;
65 virtual void nextLogContainer();
72 virtual std::streamsize fileSize()
const;
92 virtual void dropOldData();
99 virtual uint32_t defaultLogContainerSize()
const;
106 virtual void setDefaultLogContainerSize(
uint32_t defaultLogContainerSize);
119 std::list<std::shared_ptr<LogContainer>> m_data {};
122 std::streampos m_tellg {};
125 std::streampos m_tellp {};
128 std::streamsize m_gcount {};
131 std::streamsize m_fileSize {std::numeric_limits<std::streamsize>::max()};
134 std::streamsize m_bufferSize {std::numeric_limits<std::streamsize>::max()};
137 std::ios_base::iostate m_rdstate {std::ios_base::goodbit};
140 mutable std::mutex m_mutex {};
143 uint32_t m_defaultLogContainerSize {0x20000};
155 std::shared_ptr<LogContainer> logContainerContaining(
const std::streampos pos)
const;
Definition ObjectQueue.h:26
void abort()
Definition ObjectQueue.cpp:117
T * read()
Definition ObjectQueue.cpp:25
void setBufferSize(uint32_t bufferSize)
Definition ObjectQueue.cpp:142
uint32_t tellg() const
Definition ObjectQueue.cpp:59
void write(T *obj)
Definition ObjectQueue.cpp:67
bool eof() const
Definition ObjectQueue.cpp:109
uint32_t tellp() const
Definition ObjectQueue.cpp:93
void setFileSize(uint32_t fileSize)
Definition ObjectQueue.cpp:130
bool good() const
Definition ObjectQueue.cpp:101
Definition UncompressedFile.h:36
std::condition_variable tellpChanged
Definition UncompressedFile.h:112
std::condition_variable tellgChanged
Definition UncompressedFile.h:109
Definition AbstractFile.h:19