Index: src/libchcore/TOverlappedDataBufferQueue.cpp =================================================================== diff -u -N -r7e407d35b44ec7482a112ef382e4619cf5d96172 -rf8fcbbd1d2321cf0c8be79526c449384af654e49 --- src/libchcore/TOverlappedDataBufferQueue.cpp (.../TOverlappedDataBufferQueue.cpp) (revision 7e407d35b44ec7482a112ef382e4619cf5d96172) +++ src/libchcore/TOverlappedDataBufferQueue.cpp (.../TOverlappedDataBufferQueue.cpp) (revision f8fcbbd1d2321cf0c8be79526c449384af654e49) @@ -22,7 +22,6 @@ #include "TCoreException.h" #include "ErrorCodes.h" #include -#include namespace chcore { @@ -31,7 +30,8 @@ return pBufferA->GetBufferOrder() < pBufferB->GetBufferOrder(); } - TOverlappedDataBufferQueue::TOverlappedDataBufferQueue() : + TOverlappedDataBufferQueue::TOverlappedDataBufferQueue(const logger::TLogFileDataPtr& spLogFileData) : + m_spLog(logger::MakeLogger(spLogFileData, L"DataBuffer")), m_eventReadPossible(true, false), m_eventWritePossible(true, false), m_eventWriteFinished(true, false), @@ -44,7 +44,8 @@ { } - TOverlappedDataBufferQueue::TOverlappedDataBufferQueue(size_t stCount, size_t stBufferSize) : + TOverlappedDataBufferQueue::TOverlappedDataBufferQueue(const logger::TLogFileDataPtr& spLogFileData, size_t stCount, size_t stBufferSize) : + m_spLog(logger::MakeLogger(spLogFileData, L"DataBuffer")), m_eventReadPossible(true, false), m_eventWritePossible(true, false), m_eventWriteFinished(true, false), @@ -85,6 +86,8 @@ if (!pBuffer) throw TCoreException(eErr_InvalidPointer, L"pBuffer", LOCATION); + LOG_TRACE(m_spLog) << L"Queuing buffer as empty; buffer-order: " << pBuffer->GetBufferOrder(); + m_listEmptyBuffers.push_back(pBuffer); UpdateReadPossibleEvent(); UpdateAllBuffersAccountedFor(); @@ -131,6 +134,14 @@ if (!pBuffer) throw TCoreException(eErr_InvalidPointer, L"pBuffer", LOCATION); + LOG_TRACE(m_spLog) << L"Queuing buffer as full; buffer-order: " << pBuffer->GetBufferOrder() << + L", requested-data-size: " << pBuffer->GetRequestedDataSize() << + L", real-data-size: " << pBuffer->GetRealDataSize() << + L", file-position: " << pBuffer->GetFilePosition() << + L", error-code: " << pBuffer->GetErrorCode() << + L", status-code: " << pBuffer->GetStatusCode() << + L", is-last-part: " << pBuffer->IsLastPart(); + std::pair pairInsertInfo = m_setFullBuffers.insert(pBuffer); if (!pairInsertInfo.second) throw TCoreException(eErr_InvalidOverlappedPosition, L"Tried to re-insert same buffer into queue", LOCATION); @@ -190,6 +201,14 @@ if (!pBuffer) throw TCoreException(eErr_InvalidPointer, L"pBuffer", LOCATION); + LOG_TRACE(m_spLog) << L"Queuing buffer as finished; buffer-order: " << pBuffer->GetBufferOrder() << + L", requested-data-size: " << pBuffer->GetRequestedDataSize() << + L", real-data-size: " << pBuffer->GetRealDataSize() << + L", file-position: " << pBuffer->GetFilePosition() << + L", error-code: " << pBuffer->GetErrorCode() << + L", status-code: " << pBuffer->GetStatusCode() << + L", is-last-part: " << pBuffer->IsLastPart(); + std::pair pairInsertInfo = m_setFinishedBuffers.insert(pBuffer); if (!pairInsertInfo.second) throw TCoreException(eErr_InvalidOverlappedPosition, L"Tried to re-insert same buffer into queue", LOCATION); @@ -332,7 +351,6 @@ switch (dwResult) { case STATUS_USER_APC: - ATLTRACE(_T("STATUS_USER_APC while waiting for missing buffers\n")); break; case WAIT_OBJECT_0 + eAllBuffersReturned: