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