/******************************************************************* * * DESCRIPTION: class CPU (processes jobs with a specified * distribution) * * AUTHOR: Amir Barylko & Jorge Beyoglonian * * EMAIL: mailto://amir@dc.uba.ar * mailto://jbeyoglo@dc.uba.ar * * DATE: 27/6/1998 * *******************************************************************/ #ifndef __CPU_H #define __CPU_H /** include files **/ #include "atomic.h" // class Atomic /** forward declarations **/ class Distribution ; /** declarations **/ class CPU: public Atomic { public: CPU( const string &name = "CPU" ) ; // Default constructor ~CPU(); // Destructor virtual string className() const {return "CPU";} protected: Model &initFunction() {return *this;} Model &externalFunction( const ExternalMessage & ); Model &internalFunction( const InternalMessage & ); Model &outputFunction( const InternalMessage & ); private: const Port &in ; Port &out ; Distribution *dist ; int pid ; Distribution &distribution() {return *dist;} }; // class CPU #endif //__CPU_H