Skip to content
Snippets Groups Projects
Commit bdd805f9 authored by Maël Madon's avatar Maël Madon
Browse files

dev: change Profile * to const Profile *

parent f985c90d
No related branches found
No related tags found
1 merge request!10Better memory management and float rounding issues
......@@ -155,10 +155,10 @@ double Broker::next_submission(double date) const
}
void Broker::jobs_to_submit(
double date, list<Job *> &jobs, list<Profile *> &profiles)
double date, list<Job *> &jobs, list<const Profile *> &profiles)
{
jobs = list<Job *>();
profiles = list<Profile *>();
profiles = list<const Profile *>();
User *user = user_queue.front();
double planned_date_submission = user->next_submission();
......@@ -172,7 +172,7 @@ void Broker::jobs_to_submit(
{
user_queue.pop_front();
list<Job *> user_jobs;
list<Profile *> user_profiles;
list<const Profile *> user_profiles;
user->jobs_to_submit(date, user_jobs, user_profiles);
for (Job *job : user_jobs)
......
......@@ -34,7 +34,7 @@ public:
* @param[out] profiles The list of profiles used by the jobs, if new.
*/
void jobs_to_submit(
double date, list<Job *> &jobs, list<Profile *> &profiles);
double date, list<Job *> &jobs, list<const Profile *> &profiles);
/**
* @brief Ackowledge the latest execution-related activity and forward the
......
......@@ -149,7 +149,7 @@ void DynScheduler::end_broker(double date)
void DynScheduler::submit_broker_jobs(double date)
{
std::list<Job *> jobs;
std::list<Profile *> profiles;
std::list<const Profile *> profiles;
broker->jobs_to_submit(date, jobs, profiles);
if (!profiles.empty()) {
......@@ -200,7 +200,7 @@ void DynScheduler::dyn_submit(std::list<Job *> jobs, double date)
}
void DynScheduler::dyn_register_profiles(
std::list<Profile *> profiles, double date)
std::list<const Profile *> profiles, double date)
{
for (auto profile : profiles)
{
......
......@@ -58,7 +58,7 @@ protected:
/**
* Registers to batsim the profiles that will be used by the broker.
*/
void dyn_register_profiles(std::list<Profile *> profiles, double date);
void dyn_register_profiles(std::list<const Profile *> profiles, double date);
protected:
bool broker_enabled = false;
......
......@@ -30,7 +30,7 @@ public:
* @param[out] profiles The list of profiles used by the jobs, if new.
*/
virtual void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
= 0;
/* For demand response users only: */
......
......@@ -82,10 +82,10 @@ void FeedbackUser::update_date_next_sub()
}
void FeedbackUser::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
jobs = std::list<Job *>();
profiles = std::list<Profile *>();
profiles = std::list<const Profile *>();
/* Add the free sessions starting now to the list of active sessions */
while (!free_sessions.empty() && free_sessions.top()->start_time < date + EPS)
......
......@@ -17,7 +17,7 @@ public:
virtual ~FeedbackUser();
double next_submission();
virtual void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
virtual void wake_on_feedback(double date, std::list<Job *> &ended_jobs);
protected:
......
......@@ -39,7 +39,7 @@ DichoIntersubmitTimeUser::~DichoIntersubmitTimeUser()
}
void DichoIntersubmitTimeUser::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
jobs = std::list<Job *>();
......@@ -65,7 +65,7 @@ void DichoIntersubmitTimeUser::jobs_to_submit(
{
delay_sup = std::ceil(date - last_job_submitted->submission_time);
delay_between_sumbit = (delay_sup + delay_inf) / 2;
profiles = std::list<Profile *>(); // already submitted before
profiles = std::list<const Profile *>(); // already submitted before
}
Job *job = new Job();
......@@ -88,9 +88,9 @@ void DichoIntersubmitTimeUser::jobs_to_submit(
date_of_next_submission = DATE_NEVER;
}
std::list<Profile *> DichoIntersubmitTimeUser::job_profiles_used()
std::list<const Profile *> DichoIntersubmitTimeUser::job_profiles_used()
{
std::list<Profile *> profiles;
std::list<const Profile *> profiles;
Profile *profile0 = new Profile();
profile0->workload_name = user_name;
......@@ -154,10 +154,10 @@ bool RoutineGreedyUser::all_jobs_finished_successfully() const
}
void RoutineGreedyUser::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
jobs = std::list<Job *>();
profiles = std::list<Profile *>();
profiles = std::list<const Profile *>();
/* First call: just submit the initial amount of jobs */
if (first_submit)
......@@ -198,9 +198,9 @@ void RoutineGreedyUser::jobs_to_submit(
date_of_next_submission = DATE_NEVER;
}
std::list<Profile *> RoutineGreedyUser::job_profiles_used()
std::list<const Profile *> RoutineGreedyUser::job_profiles_used()
{
std::list<Profile *> profiles;
std::list<const Profile *> profiles;
Profile *profile0 = new Profile();
profile0->workload_name = user_name;
......@@ -246,7 +246,7 @@ ThinkTimeUser::~ThinkTimeUser()
}
void ThinkTimeUser::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
jobs = std::list<Job *>();
......@@ -275,9 +275,9 @@ void ThinkTimeUser::jobs_to_submit(
}
}
std::list<Profile *> ThinkTimeUser::job_profiles_used()
std::list<const Profile *> ThinkTimeUser::job_profiles_used()
{
std::list<Profile *> profiles;
std::list<const Profile *> profiles;
Profile *profile0 = new Profile();
profile0->workload_name = user_name;
......
......@@ -15,10 +15,10 @@ public:
~DichoIntersubmitTimeUser();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
std::list<Profile *> job_profiles_used();
std::list<const Profile *> job_profiles_used();
private:
double delay_inf = 0;
......@@ -44,10 +44,10 @@ public:
~RoutineGreedyUser();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
std::list<Profile *> job_profiles_used();
std::list<const Profile *> job_profiles_used();
private:
double delay_between_sumbit;
......@@ -75,11 +75,11 @@ public:
~ThinkTimeUser();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
void wake_on_feedback(double date, std::list<Job *> &ended_jobs);
protected:
std::list<Profile *> job_profiles_used();
std::list<const Profile *> job_profiles_used();
private:
double think_time;
......
......@@ -35,10 +35,10 @@ ReplayUser::~ReplayUser()
}
void ReplayUser::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
jobs = std::list<Job *>();
profiles = std::list<Profile *>();
profiles = std::list<const Profile *>();
PPK_ASSERT_ERROR(!original_trace->is_empty(),
"User %s has been called to sumbit but her job queue is empty",
......@@ -100,7 +100,7 @@ ReplayUserRigid::~ReplayUserRigid()
}
void ReplayUserRigid::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......@@ -204,7 +204,7 @@ ReplayUserReconfig::~ReplayUserReconfig()
}
void ReplayUserReconfig::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......@@ -253,7 +253,7 @@ DMUserReconfig::~DMUserReconfig()
}
void DMUserReconfig::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......@@ -271,7 +271,7 @@ DMUserDegrad::~DMUserDegrad()
}
void DMUserDegrad::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......@@ -289,7 +289,7 @@ DMUserRenonce::~DMUserRenonce()
}
void DMUserRenonce::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......@@ -307,7 +307,7 @@ DMUserDelay::~DMUserDelay()
}
void DMUserDelay::jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles)
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles)
{
ReplayUser::jobs_to_submit(date, jobs, profiles);
}
......
......@@ -24,7 +24,7 @@ public:
virtual ~ReplayUser();
double next_submission();
virtual void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
/**
......@@ -63,7 +63,7 @@ public:
~ReplayUserRigid();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
bool handle_job(double date, Job *job, Profile *profile);
......@@ -84,7 +84,7 @@ public:
~ReplayUserReconfig();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
/** Draw a random variable according to the proportions given by
......@@ -127,7 +127,7 @@ public:
~DMUserReconfig();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
bool handle_job(double date, Job *job, Profile *profile);
......@@ -146,7 +146,7 @@ public:
~DMUserDegrad();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
bool handle_job(double date, Job *job, Profile *profile);
......@@ -164,7 +164,7 @@ public:
~DMUserRenonce();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
bool handle_job(double date, Job *job, Profile *profile);
......@@ -182,7 +182,7 @@ public:
~DMUserDelay();
double next_submission();
void jobs_to_submit(
double date, std::list<Job *> &jobs, std::list<Profile *> &profiles);
double date, std::list<Job *> &jobs, std::list<const Profile *> &profiles);
protected:
bool handle_job(double date, Job *job, Profile *profile);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment