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<TOverlappedReader>;