Index: src/libchcore/TTaskLocalStats.cpp =================================================================== diff -u -N -rcdc76e1a95383dff63a5254aeb8d37035028512c -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 --- src/libchcore/TTaskLocalStats.cpp (.../TTaskLocalStats.cpp) (revision cdc76e1a95383dff63a5254aeb8d37035028512c) +++ src/libchcore/TTaskLocalStats.cpp (.../TTaskLocalStats.cpp) (revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3) @@ -28,116 +28,115 @@ #include "ISerializerContainer.h" #include "ISerializerRowData.h" -BEGIN_CHCORE_NAMESPACE - -//////////////////////////////////////////////////////////////////////////////// -// TTasksGlobalStats members -TTaskLocalStatsInfo::TTaskLocalStatsInfo() : - m_tTimer(m_setModifications), - m_bTaskIsRunning(false) +namespace chcore { - m_setModifications[eMod_Added] = true; -} + //////////////////////////////////////////////////////////////////////////////// + // TTasksGlobalStats members + TTaskLocalStatsInfo::TTaskLocalStatsInfo() : + m_tTimer(m_setModifications), + m_bTaskIsRunning(false) + { + m_setModifications[eMod_Added] = true; + } -TTaskLocalStatsInfo::~TTaskLocalStatsInfo() -{ -} + TTaskLocalStatsInfo::~TTaskLocalStatsInfo() + { + } -void TTaskLocalStatsInfo::Clear() -{ - m_bTaskIsRunning = false; - m_tTimer.Modify().Reset(); -} + void TTaskLocalStatsInfo::Clear() + { + m_bTaskIsRunning = false; + m_tTimer.Modify().Reset(); + } -void TTaskLocalStatsInfo::GetSnapshot(TTaskStatsSnapshotPtr& spSnapshot) const -{ - boost::upgrade_lock lock(m_lock); - UpdateTime(lock); - spSnapshot->SetTaskRunning(m_bTaskIsRunning); - spSnapshot->SetTimeElapsed(m_tTimer.Get().GetTotalTime()); -} + void TTaskLocalStatsInfo::GetSnapshot(TTaskStatsSnapshotPtr& spSnapshot) const + { + boost::upgrade_lock lock(m_lock); + UpdateTime(lock); + spSnapshot->SetTaskRunning(m_bTaskIsRunning); + spSnapshot->SetTimeElapsed(m_tTimer.Get().GetTotalTime()); + } -void TTaskLocalStatsInfo::MarkAsRunning() -{ - boost::unique_lock lock(m_lock); - m_bTaskIsRunning = true; -} + void TTaskLocalStatsInfo::MarkAsRunning() + { + boost::unique_lock lock(m_lock); + m_bTaskIsRunning = true; + } -void TTaskLocalStatsInfo::MarkAsNotRunning() -{ - boost::unique_lock lock(m_lock); - m_bTaskIsRunning = false; -} + void TTaskLocalStatsInfo::MarkAsNotRunning() + { + boost::unique_lock lock(m_lock); + m_bTaskIsRunning = false; + } -bool TTaskLocalStatsInfo::IsRunning() const -{ - boost::shared_lock lock(m_lock); - return m_bTaskIsRunning; -} + bool TTaskLocalStatsInfo::IsRunning() const + { + boost::shared_lock lock(m_lock); + return m_bTaskIsRunning; + } -void TTaskLocalStatsInfo::EnableTimeTracking() -{ - boost::unique_lock lock(m_lock); - m_tTimer.Modify().Start(); -} + void TTaskLocalStatsInfo::EnableTimeTracking() + { + boost::unique_lock lock(m_lock); + m_tTimer.Modify().Start(); + } -void TTaskLocalStatsInfo::DisableTimeTracking() -{ - boost::unique_lock lock(m_lock); - m_tTimer.Modify().Stop(); -} - -void TTaskLocalStatsInfo::UpdateTime(boost::upgrade_lock& lock) const -{ - // if the timer is not running then there is no point modifying timer object - if(m_tTimer.Get().IsRunning()) + void TTaskLocalStatsInfo::DisableTimeTracking() { - boost::upgrade_to_unique_lock lock_upgraded(lock); - m_tTimer.Modify().Tick(); + boost::unique_lock lock(m_lock); + m_tTimer.Modify().Stop(); } -} -void TTaskLocalStatsInfo::Store(const ISerializerContainerPtr& spContainer) const -{ - boost::shared_lock lock(m_lock); - InitColumns(spContainer); - - bool bAdded = m_setModifications[eMod_Added]; - if(m_setModifications.any()) + void TTaskLocalStatsInfo::UpdateTime(boost::upgrade_lock& lock) const { - ISerializerRowData& rRow = spContainer->GetRow(0, bAdded); - if(bAdded || m_setModifications[eMod_Timer]) + // if the timer is not running then there is no point modifying timer object + if (m_tTimer.Get().IsRunning()) { - rRow.SetValue(_T("elapsed_time"), m_tTimer.Get().GetTotalTime()); - m_setModifications.reset(); + boost::upgrade_to_unique_lock lock_upgraded(lock); + m_tTimer.Modify().Tick(); } } -} -void TTaskLocalStatsInfo::Load(const ISerializerContainerPtr& spContainer) -{ - boost::unique_lock lock(m_lock); + void TTaskLocalStatsInfo::Store(const ISerializerContainerPtr& spContainer) const + { + boost::shared_lock lock(m_lock); + InitColumns(spContainer); - InitColumns(spContainer); - ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); - if(spRowReader->Next()) + bool bAdded = m_setModifications[eMod_Added]; + if (m_setModifications.any()) + { + ISerializerRowData& rRow = spContainer->GetRow(0, bAdded); + if (bAdded || m_setModifications[eMod_Timer]) + { + rRow.SetValue(_T("elapsed_time"), m_tTimer.Get().GetTotalTime()); + m_setModifications.reset(); + } + } + } + + void TTaskLocalStatsInfo::Load(const ISerializerContainerPtr& spContainer) { - unsigned long long ullTime = 0; - spRowReader->GetValue(_T("elapsed_time"), ullTime); - m_tTimer.Modify().Init(ullTime); + boost::unique_lock lock(m_lock); - m_setModifications.reset(); + InitColumns(spContainer); + ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); + if (spRowReader->Next()) + { + unsigned long long ullTime = 0; + spRowReader->GetValue(_T("elapsed_time"), ullTime); + m_tTimer.Modify().Init(ullTime); + + m_setModifications.reset(); + } } -} -void TTaskLocalStatsInfo::InitColumns(const ISerializerContainerPtr& spContainer) const -{ - IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); - if(rColumns.IsEmpty()) + void TTaskLocalStatsInfo::InitColumns(const ISerializerContainerPtr& spContainer) const { - rColumns.AddColumn(_T("id"), ColumnType::value); - rColumns.AddColumn(_T("elapsed_time"), IColumnsDefinition::eType_ulonglong); + IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); + if (rColumns.IsEmpty()) + { + rColumns.AddColumn(_T("id"), ColumnType::value); + rColumns.AddColumn(_T("elapsed_time"), IColumnsDefinition::eType_ulonglong); + } } } - -END_CHCORE_NAMESPACE