Index: src/libchcore/TOverlappedReader.h
===================================================================
diff -u -N -rc4cbf6cd567821f9a981586ab5d8294a26f873be -r593ca68706f3a3c7c2a3820b02a56fc24d5bea11
--- src/libchcore/TOverlappedReader.h	(.../TOverlappedReader.h)	(revision c4cbf6cd567821f9a981586ab5d8294a26f873be)
+++ src/libchcore/TOverlappedReader.h	(.../TOverlappedReader.h)	(revision 593ca68706f3a3c7c2a3820b02a56fc24d5bea11)
@@ -51,22 +51,24 @@
 		TOrderedBufferQueuePtr GetFinishedQueue() const;
 
 		// processing info
-		bool IsDataSourceFinished() const { return m_tEmptyBuffers.IsDataSourceFinished(); }
+		bool IsDataSourceFinished() const { return m_tInputBuffers.IsDataSourceFinished(); }
 
 		// event access
-		HANDLE GetEventReadPossibleHandle() const { return m_tEmptyBuffers.GetHasBuffersEvent(); }
+		HANDLE GetEventReadPossibleHandle() const { return m_tInputBuffers.GetHasBuffersEvent(); }
 		HANDLE GetEventReadFailedHandle() const { return m_spFullBuffers->GetHasErrorEvent(); }
 		HANDLE GetEventReadFinishedHandle() const { return m_spFullBuffers->GetHasBuffersEvent(); }
 
-		size_t GetBufferCount() const;
-		void ReleaseBuffers(const TBufferListPtr& spBuffers);
+		void ReleaseBuffers();
 
 	private:
 		logger::TLoggerPtr m_spLog;
 
 		// queues
-		TReadBufferQueueWrapper m_tEmptyBuffers;
+		TBufferListPtr m_spEmptyBuffers;
+		TReadBufferQueueWrapper m_tInputBuffers;
 		TOrderedBufferQueuePtr m_spFullBuffers;			// buffers with data
+
+		bool m_bReleaseMode = false;		// when set, all incoming buffers will go to empty buffers
 	};
 }