// src/backend/concrete_thread_statistics.hh - Copyright 2005, 2006, University // of Padova, dept. of Pure and Applied // Mathematics // // This file is part of SGPEMv2. // // This is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // SGPEMv2 is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with SGPEMv2. If not, see http://www.gnu.org/licenses/. #ifndef CONCRETE_THREAD_STATISTICS_HH #define CONCRETE_THREAD_STATISTICS_HH 1 #include #include namespace sgpem { class ConcreteProcessStatistics; /** \brief Represents the statistics of a Thread This class is a direct subclass of the abstract class ThreadStatistics. For the documentation af all methods refere to it. */ class SG_DLLLOCAL ConcreteThreadStatistics : public ThreadStatistics { public: friend class ConcreteProcessStatistics; ~ConcreteThreadStatistics (); int get_execution_time () const; int get_execution_progress () const; int get_total_inactivity () const; int get_response_time () const; int get_turn_around () const; int get_efficiency () const; int get_resource_usage_time () const; int get_resource_waitings_time () const; const Thread *get_core () const; int get_real_arrival_time () const; //useful for ProcessStatistics private: ConcreteThreadStatistics (const Thread *core, const int &instant); const Thread *_core; int _real_arrival_time; }; } // namespace sgpem #endif