Index: src/libchcore/TOverlappedReader.cpp =================================================================== diff -u -N -r685d0da3259dd94327ee8d644a88c155585b8249 -rdcbfdc95eedacd24d8b1d78fa507029ce12a5a63 --- src/libchcore/TOverlappedReader.cpp (.../TOverlappedReader.cpp) (revision 685d0da3259dd94327ee8d644a88c155585b8249) +++ src/libchcore/TOverlappedReader.cpp (.../TOverlappedReader.cpp) (revision dcbfdc95eedacd24d8b1d78fa507029ce12a5a63) @@ -106,7 +106,7 @@ return pBuffer; } - void TOverlappedReader::AddFullBuffer(TOverlappedDataBuffer* pBuffer) + void TOverlappedReader::AddFinishedReadBuffer(TOverlappedDataBuffer* pBuffer) { if (!pBuffer) throw TCoreException(eErr_InvalidPointer, L"pBuffer", LOCATION); @@ -132,6 +132,18 @@ } } + TOverlappedDataBuffer* TOverlappedReader::GetFinishedReadBuffer() + { + if(m_bReleaseMode) + return nullptr; + + TOverlappedDataBuffer* pBuffer = m_spFullBuffers->Pop(); + if(pBuffer) + pBuffer->SetParam(this); + + return pBuffer; + } + TOrderedBufferQueuePtr TOverlappedReader::GetFinishedQueue() const { return m_spFullBuffers;