Index: src/libchcore/TSubTaskFastMove.cpp =================================================================== diff -u -N -r20aff533ab239b5b41263bb342879b4ea46fdbf6 -r12a1725bfd04b0f55fd0fda302975fdcd4174943 --- src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 20aff533ab239b5b41263bb342879b4ea46fdbf6) +++ src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 12a1725bfd04b0f55fd0fda302975fdcd4174943) @@ -36,6 +36,7 @@ #include #include "SerializationHelpers.h" #include "TBinarySerializer.h" +#include "DataBuffer.h" BEGIN_CHCORE_NAMESPACE @@ -99,6 +100,12 @@ { } +void TSubTaskFastMove::Reset() +{ + m_tProgressInfo.ResetProgress(); + m_tSubTaskStats.Clear(); +} + TSubTaskFastMove::ESubOperationResult TSubTaskFastMove::Exec() { TSubTaskProcessingGuard guard(m_tSubTaskStats); @@ -108,20 +115,12 @@ TTaskDefinition& rTaskDefinition = GetContext().GetTaskDefinition(); IFeedbackHandler* piFeedbackHandler = GetContext().GetFeedbackHandler(); TWorkerThreadController& rThreadController = GetContext().GetThreadController(); - TTaskLocalStats& rTaskLocalStats = GetContext().GetTaskLocalStats(); TBasePathDataContainer& rBasePathDataContainer = GetContext().GetBasePathDataContainer(); rLog.logi(_T("Performing initial fast-move operation...")); - // old stats - rTaskLocalStats.SetProcessedSize(0); - rTaskLocalStats.SetTotalSize(0); - rTaskLocalStats.SetCurrentIndex(0); - rTaskLocalStats.SetTotalItems(rTaskDefinition.GetSourcePathCount()); - rTaskLocalStats.SetCurrentPath(TString()); - // new stats - m_tSubTaskStats.SetCurrentBufferIndex(-1); + m_tSubTaskStats.SetCurrentBufferIndex(TBufferSizes::eBuffer_Default); m_tSubTaskStats.SetTotalCount(rTaskDefinition.GetSourcePathCount()); m_tSubTaskStats.SetProcessedCount(0); m_tSubTaskStats.SetTotalSize(0); @@ -156,10 +155,6 @@ // store currently processed index m_tProgressInfo.SetCurrentIndex(stIndex); - // old stats - rTaskLocalStats.SetCurrentIndex(stIndex); - rTaskLocalStats.SetCurrentPath(pathCurrent.ToString()); - // new stats m_tSubTaskStats.SetProcessedCount(stIndex); m_tSubTaskStats.SetCurrentPath(pathCurrent.ToString()); @@ -286,10 +281,6 @@ m_tProgressInfo.SetCurrentIndex(stIndex); - // old stats - rTaskLocalStats.SetCurrentIndex(stIndex); - rTaskLocalStats.SetCurrentPath(TString()); - // new stats m_tSubTaskStats.SetProcessedCount(stIndex); m_tSubTaskStats.SetCurrentPath(TString()); @@ -300,4 +291,9 @@ return eSubResult_Continue; } +void TSubTaskFastMove::GetStatsSnapshot(TSubTaskStatsSnapshot& rStats) const +{ + m_tSubTaskStats.GetSnapshot(rStats); +} + END_CHCORE_NAMESPACE