Index: src/libchcore/TOverlappedReader.h =================================================================== diff -u -N -ra1f5b3d99f2f175b102d81379698ea1f08e42cce -rf1d25f23712f5de7459f690ab51b2640d0f81b91 --- src/libchcore/TOverlappedReader.h (.../TOverlappedReader.h) (revision a1f5b3d99f2f175b102d81379698ea1f08e42cce) +++ src/libchcore/TOverlappedReader.h (.../TOverlappedReader.h) (revision f1d25f23712f5de7459f690ab51b2640d0f81b91) @@ -23,14 +23,17 @@ #include "../liblogger/TLogger.h" #include "TOrderedBufferQueue.h" #include "TReadBufferQueueWrapper.h" +#include "TOverlappedProcessorRange.h" namespace chcore { class TOverlappedReader { public: - explicit TOverlappedReader(const logger::TLogFileDataPtr& spLogFileData, const TBufferListPtr& spEmptyBuffers, - unsigned long long ullFilePos, DWORD dwChunkSize); + explicit TOverlappedReader(const logger::TLogFileDataPtr& spLogFileData, + const TBufferListPtr& spEmptyBuffers, + const TOverlappedProcessorRangePtr& spDataRange, + DWORD dwChunkSize); TOverlappedReader(const TOverlappedReader&) = delete; ~TOverlappedReader(); @@ -59,6 +62,8 @@ void ReleaseBuffers(); + void UpdateProcessingRange(unsigned long long ullNewPosition); + private: logger::TLoggerPtr m_spLog; @@ -68,6 +73,8 @@ TOrderedBufferQueuePtr m_spFullBuffers; // buffers with data bool m_bReleaseMode = false; // when set, all incoming buffers will go to empty buffers + + boost::signals2::connection m_dataRangeChanged; }; using TOverlappedReaderPtr = std::shared_ptr;