Index: src/libchcore/TOverlappedWriter.h =================================================================== diff -u -N -r6c41e7b3cf7711c6f5027c0c0154013f50f08e7b -r593ca68706f3a3c7c2a3820b02a56fc24d5bea11 --- src/libchcore/TOverlappedWriter.h (.../TOverlappedWriter.h) (revision 6c41e7b3cf7711c6f5027c0c0154013f50f08e7b) +++ src/libchcore/TOverlappedWriter.h (.../TOverlappedWriter.h) (revision 593ca68706f3a3c7c2a3820b02a56fc24d5bea11) @@ -34,7 +34,7 @@ public: explicit TOverlappedWriter(const logger::TLogFileDataPtr& spLogFileData, const TOrderedBufferQueuePtr& spBuffersToWrite, - unsigned long long ullFilePos); + unsigned long long ullFilePos, const TBufferListPtr& spEmptyBuffers); TOverlappedWriter(const TOverlappedWriter&) = delete; ~TOverlappedWriter(); @@ -57,16 +57,19 @@ HANDLE GetEventWriteFailedHandle() const { return m_tFinishedBuffers.GetHasErrorEvent(); } HANDLE GetEventWriteFinishedHandle() const { return m_tFinishedBuffers.GetHasBuffersEvent(); } - size_t GetBufferCount() const; - void ReleaseBuffers(const TBufferListPtr& spList); + void ReleaseBuffers(); private: logger::TLoggerPtr m_spLog; + TBufferListPtr m_spEmptyBuffers; + TWriteBufferQueueWrapper m_tBuffersToWrite; TOrderedBufferQueue m_tFinishedBuffers; TOverlappedDataBuffer* m_pLastPartBuffer = nullptr; + + bool m_bReleaseMode = false; }; }