Index: src/libchcore/TOrderedBufferQueue.h =================================================================== diff -u -N -rc719644bb4360fcf7ccf6f1139bcae852bd6effd -r518d1a3484cde91ff17c071211df5e40cb3487e3 --- src/libchcore/TOrderedBufferQueue.h (.../TOrderedBufferQueue.h) (revision c719644bb4360fcf7ccf6f1139bcae852bd6effd) +++ src/libchcore/TOrderedBufferQueue.h (.../TOrderedBufferQueue.h) (revision 518d1a3484cde91ff17c071211df5e40cb3487e3) @@ -34,7 +34,8 @@ static const unsigned long long NoPosition = 0xffffffffffffffff; public: - explicit TOrderedBufferQueue(unsigned long long ullExpectedPosition); + explicit TOrderedBufferQueue(const TBufferListPtr& spEmptyBuffers, unsigned long long ullExpectedPosition); + ~TOrderedBufferQueue(); void Push(TOverlappedDataBuffer* pBuffer); @@ -54,7 +55,7 @@ HANDLE GetHasErrorEvent() const; HANDLE GetHasReadingFinished() const; - void ClearBuffers(const TBufferListPtr& spBuffers); + void ClearBuffers(); boost::signals2::signal& GetNotifier(); @@ -71,6 +72,8 @@ using BufferCollection = std::set; BufferCollection m_setBuffers; + TBufferListPtr m_spEmptyBuffers; + mutable boost::shared_mutex m_mutex; TOverlappedDataBuffer* m_pFirstErrorBuffer = nullptr;