Index: src/libchcore/TTaskStatsSnapshot.cpp =================================================================== diff -u -N -rcdc76e1a95383dff63a5254aeb8d37035028512c -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 --- src/libchcore/TTaskStatsSnapshot.cpp (.../TTaskStatsSnapshot.cpp) (revision cdc76e1a95383dff63a5254aeb8d37035028512c) +++ src/libchcore/TTaskStatsSnapshot.cpp (.../TTaskStatsSnapshot.cpp) (revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3) @@ -24,190 +24,189 @@ #include "TTaskStatsSnapshot.h" #include "MathFunctions.h" -BEGIN_CHCORE_NAMESPACE - -//////////////////////////////////////////////////////////////////////////////// -// TTaskStatsSnapshot members - -TTaskStatsSnapshot::TTaskStatsSnapshot() : - m_tSubTasksStats(), - m_bTaskIsRunning(false), - m_ullTimeElapsed(0), - m_iThreadPriority(0), - m_strDestinationPath(), - m_filters(), - m_eTaskState(eTaskState_None), - m_strTaskID(), - m_eOperationType(eOperation_None), - m_bIgnoreDirectories(false), - m_bCreateEmptyFiles(false), - m_ullCurrentBufferSize(0), - m_bCacheFilled(false), - m_ullProcessedCount(0), - m_ullTotalCount(0), - m_ullProcessedSize(0), - m_ullTotalSize(0), - m_dTaskCountSpeed(0.0), - m_dTaskSizeSpeed(0.0), - m_dCombinedProgress(0.0), - m_uiBufferCount(0) +namespace chcore { -} + //////////////////////////////////////////////////////////////////////////////// + // TTaskStatsSnapshot members -void TTaskStatsSnapshot::Clear() -{ - m_tSubTasksStats.Clear(); - m_bTaskIsRunning = false; - m_ullTimeElapsed = 0; - m_iThreadPriority = 0; - m_strDestinationPath.Clear(); - m_filters.Clear(); - m_eTaskState = eTaskState_None; - m_strTaskID.Clear(); - m_eOperationType = eOperation_None; - m_bIgnoreDirectories = false; - m_bCreateEmptyFiles = false; - m_ullCurrentBufferSize = 0; - m_bCacheFilled = false; - m_ullProcessedCount = 0; - m_ullTotalCount = 0; - m_ullProcessedSize = 0; - m_ullTotalSize = 0; - m_dTaskCountSpeed = 0.0; - m_dTaskSizeSpeed = 0.0; - m_dCombinedProgress = 0.0; - m_uiBufferCount = 0; -} + TTaskStatsSnapshot::TTaskStatsSnapshot() : + m_tSubTasksStats(), + m_bTaskIsRunning(false), + m_ullTimeElapsed(0), + m_iThreadPriority(0), + m_strDestinationPath(), + m_filters(), + m_eTaskState(eTaskState_None), + m_strTaskID(), + m_eOperationType(eOperation_None), + m_bIgnoreDirectories(false), + m_bCreateEmptyFiles(false), + m_ullCurrentBufferSize(0), + m_bCacheFilled(false), + m_ullProcessedCount(0), + m_ullTotalCount(0), + m_ullProcessedSize(0), + m_ullTotalSize(0), + m_dTaskCountSpeed(0.0), + m_dTaskSizeSpeed(0.0), + m_dCombinedProgress(0.0), + m_uiBufferCount(0) + { + } -void TTaskStatsSnapshot::CalculateProgressAndSpeeds() const -{ - m_bCacheFilled = false; - m_ullProcessedCount = 0; - m_ullTotalCount = 0; - m_ullProcessedSize = 0; - m_ullTotalSize = 0; - m_dTaskCountSpeed = 0.0; - m_dTaskSizeSpeed = 0.0; - m_dCombinedProgress = 0.0; + void TTaskStatsSnapshot::Clear() + { + m_tSubTasksStats.Clear(); + m_bTaskIsRunning = false; + m_ullTimeElapsed = 0; + m_iThreadPriority = 0; + m_strDestinationPath.Clear(); + m_filters.Clear(); + m_eTaskState = eTaskState_None; + m_strTaskID.Clear(); + m_eOperationType = eOperation_None; + m_bIgnoreDirectories = false; + m_bCreateEmptyFiles = false; + m_ullCurrentBufferSize = 0; + m_bCacheFilled = false; + m_ullProcessedCount = 0; + m_ullTotalCount = 0; + m_ullProcessedSize = 0; + m_ullTotalSize = 0; + m_dTaskCountSpeed = 0.0; + m_dTaskSizeSpeed = 0.0; + m_dCombinedProgress = 0.0; + m_uiBufferCount = 0; + } - size_t stCount = m_tSubTasksStats.GetSubTaskSnapshotCount(); - for(size_t stIndex = 0; stIndex < stCount; ++stIndex) + void TTaskStatsSnapshot::CalculateProgressAndSpeeds() const { - TSubTaskStatsSnapshotPtr spSubtaskStats = m_tSubTasksStats.GetSubTaskSnapshotAt(stIndex); + m_bCacheFilled = false; + m_ullProcessedCount = 0; + m_ullTotalCount = 0; + m_ullProcessedSize = 0; + m_ullTotalSize = 0; + m_dTaskCountSpeed = 0.0; + m_dTaskSizeSpeed = 0.0; + m_dCombinedProgress = 0.0; - m_ullProcessedCount += spSubtaskStats->GetProcessedCount(); - m_ullTotalCount += spSubtaskStats->GetTotalCount(); + size_t stCount = m_tSubTasksStats.GetSubTaskSnapshotCount(); + for (size_t stIndex = 0; stIndex < stCount; ++stIndex) + { + TSubTaskStatsSnapshotPtr spSubtaskStats = m_tSubTasksStats.GetSubTaskSnapshotAt(stIndex); - m_ullProcessedSize += spSubtaskStats->GetProcessedSize(); - m_ullTotalSize += spSubtaskStats->GetTotalSize(); + m_ullProcessedCount += spSubtaskStats->GetProcessedCount(); + m_ullTotalCount += spSubtaskStats->GetTotalCount(); - m_dTaskCountSpeed += spSubtaskStats->GetCountSpeed(); - m_dTaskSizeSpeed += spSubtaskStats->GetSizeSpeed(); - } + m_ullProcessedSize += spSubtaskStats->GetProcessedSize(); + m_ullTotalSize += spSubtaskStats->GetTotalSize(); - // we're treating each of the items as 512B object to process - // to have some balance between items' count and items' size in - // progress information - unsigned long long ullProcessed = 512ULL * m_ullProcessedCount + m_ullProcessedSize; - unsigned long long ullTotal = 512ULL * m_ullTotalCount + m_ullTotalSize; + m_dTaskCountSpeed += spSubtaskStats->GetCountSpeed(); + m_dTaskSizeSpeed += spSubtaskStats->GetSizeSpeed(); + } - if(ullTotal != 0) - m_dCombinedProgress = Math::Div64(ullProcessed, ullTotal); + // we're treating each of the items as 512B object to process + // to have some balance between items' count and items' size in + // progress information + unsigned long long ullProcessed = 512ULL * m_ullProcessedCount + m_ullProcessedSize; + unsigned long long ullTotal = 512ULL * m_ullTotalCount + m_ullTotalSize; - m_bCacheFilled = true; -} + if (ullTotal != 0) + m_dCombinedProgress = Math::Div64(ullProcessed, ullTotal); -unsigned long long TTaskStatsSnapshot::GetProcessedCount() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + m_bCacheFilled = true; + } - return m_ullProcessedCount; -} + unsigned long long TTaskStatsSnapshot::GetProcessedCount() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -unsigned long long TTaskStatsSnapshot::GetTotalCount() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_ullProcessedCount; + } - return m_ullTotalCount; -} + unsigned long long TTaskStatsSnapshot::GetTotalCount() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -unsigned long long TTaskStatsSnapshot::GetProcessedSize() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_ullTotalCount; + } - return m_ullProcessedSize; -} + unsigned long long TTaskStatsSnapshot::GetProcessedSize() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -unsigned long long TTaskStatsSnapshot::GetTotalSize() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_ullProcessedSize; + } - return m_ullTotalSize; -} + unsigned long long TTaskStatsSnapshot::GetTotalSize() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -double TTaskStatsSnapshot::GetCountSpeed() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_ullTotalSize; + } - return m_dTaskCountSpeed; -} + double TTaskStatsSnapshot::GetCountSpeed() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -double TTaskStatsSnapshot::GetSizeSpeed() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_dTaskCountSpeed; + } - return m_dTaskSizeSpeed; -} + double TTaskStatsSnapshot::GetSizeSpeed() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -double TTaskStatsSnapshot::GetCombinedProgress() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_dTaskSizeSpeed; + } - return m_dCombinedProgress; -} + double TTaskStatsSnapshot::GetCombinedProgress() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -double TTaskStatsSnapshot::GetAvgCountSpeed() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + return m_dCombinedProgress; + } - if(m_ullTimeElapsed) - return Math::Div64(m_ullProcessedCount, m_ullTimeElapsed / 1000); - else - return 0.0; -} + double TTaskStatsSnapshot::GetAvgCountSpeed() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -double TTaskStatsSnapshot::GetAvgSizeSpeed() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + if (m_ullTimeElapsed) + return Math::Div64(m_ullProcessedCount, m_ullTimeElapsed / 1000); + else + return 0.0; + } - if(m_ullTimeElapsed) - return Math::Div64(m_ullProcessedSize, m_ullTimeElapsed / 1000); - else - return 0.0; -} + double TTaskStatsSnapshot::GetAvgSizeSpeed() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); -unsigned long long TTaskStatsSnapshot::GetEstimatedTotalTime() const -{ - if(!m_bCacheFilled) - CalculateProgressAndSpeeds(); + if (m_ullTimeElapsed) + return Math::Div64(m_ullProcessedSize, m_ullTimeElapsed / 1000); + else + return 0.0; + } - double dProgress = 0.0; - if(m_ullTotalSize != 0) - dProgress = Math::Div64(m_ullProcessedSize, m_ullTotalSize); + unsigned long long TTaskStatsSnapshot::GetEstimatedTotalTime() const + { + if (!m_bCacheFilled) + CalculateProgressAndSpeeds(); - if(dProgress == 0.0) - return std::numeric_limits::max(); - else - return (unsigned long long)(m_ullTimeElapsed * (1.0 / dProgress)); -} + double dProgress = 0.0; + if (m_ullTotalSize != 0) + dProgress = Math::Div64(m_ullProcessedSize, m_ullTotalSize); -END_CHCORE_NAMESPACE + if (dProgress == 0.0) + return std::numeric_limits::max(); + else + return (unsigned long long)(m_ullTimeElapsed * (1.0 / dProgress)); + } +}