From 22c0d8d875881c8ab2396c8cfc29ce140b4e0b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Madon?= <mael.madon@irit.fr> Date: Mon, 30 Oct 2023 11:05:46 +0100 Subject: [PATCH] refac: merge function delay_job and C_you_later_job (and adapt related tests), #18 --- src/users/response_behaviors.cpp | 24 +++--------------------- src/users/response_behaviors.hpp | 8 +------- src/users/user_replay.cpp | 2 +- src/users/user_windows.cpp | 8 ++++---- 4 files changed, 9 insertions(+), 33 deletions(-) diff --git a/src/users/response_behaviors.cpp b/src/users/response_behaviors.cpp index d9a32d4..25df3cc 100644 --- a/src/users/response_behaviors.cpp +++ b/src/users/response_behaviors.cpp @@ -116,12 +116,12 @@ bool degrad_temp_job(shared_ptr<Job> &job, Profile *profile, ReplayUser *user, } bool delay_job(double new_time, shared_ptr<Job> job, - UserSubmitQueue *original_trace, ReplayUser *user, double random_number) + UserSubmitQueue *original_trace, ReplayUser *user, double random_number, bool log_as_c_you_later) { - /* Log... */ + string log_string = log_as_c_you_later ? "C_you_later" : "delay"; user->log_behavior( - job, "delay", new_time - job->submission_time, random_number); + job, log_string, new_time - job->submission_time, random_number); user->dm_stat[2 * DELAYED]++; user->dm_stat[2 * DELAYED + 1] += job->nb_requested_resources * std::stol(job->profile); @@ -130,24 +130,6 @@ bool delay_job(double new_time, shared_ptr<Job> job, job->submission_time = new_time; original_trace->insert_sorted(job.get()); - /* Return "Do not execute now" */ - return false; -} - -bool C_you_later_job(double next_time, shared_ptr<Job> job, - UserSubmitQueue *original_trace, ReplayUser *user, double random_number) -{ - /* Log... */ - user->log_behavior( - job, "C_you_later", next_time - job->submission_time, random_number); - user->dm_stat[2 * DELAYED]++; - user->dm_stat[2 * DELAYED + 1] - += job->nb_requested_resources * std::stol(job->profile); - - /* Update the submission date and put job back in the queue */ - job->submission_time = next_time; - original_trace->insert_sorted(job.get()); - /* Return "Do not execute now" */ return false; } \ No newline at end of file diff --git a/src/users/response_behaviors.hpp b/src/users/response_behaviors.hpp index 70ac4d3..733a6bf 100644 --- a/src/users/response_behaviors.hpp +++ b/src/users/response_behaviors.hpp @@ -58,10 +58,4 @@ bool reconfig_job(shared_ptr<Job> job, Profile *profile, double alpha, * later date new_time. */ bool delay_job(double new_time, shared_ptr<Job> job, - UserSubmitQueue *original_trace, ReplayUser *user, double random_number); - -/** - * @brief - */ -bool C_you_later_job(double next_time, shared_ptr<Job> job, - UserSubmitQueue *original_trace, ReplayUser *user, double random_number); \ No newline at end of file + UserSubmitQueue *original_trace, ReplayUser *user, double random_number, bool log_as_c_you_later); \ No newline at end of file diff --git a/src/users/user_replay.cpp b/src/users/user_replay.cpp index c050b7f..e85fb3d 100644 --- a/src/users/user_replay.cpp +++ b/src/users/user_replay.cpp @@ -328,7 +328,7 @@ bool DMUserRenonce::handle_job( bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile) { if (dm_window->date_in_dm_window(date)) - return delay_job(dm_window->sup, job, original_trace, this, -1); + return delay_job(dm_window->sup, job, original_trace, this, -1, false); Parser::profile_from_duration(profile, job->profile, user_name); return true; diff --git a/src/users/user_windows.cpp b/src/users/user_windows.cpp index 9060ed9..9f26d8b 100644 --- a/src/users/user_windows.cpp +++ b/src/users/user_windows.cpp @@ -205,8 +205,8 @@ bool DMUserMultiBehavior::exec_red_behavior_mono( } if (behavior_number == R_C_YOU_LATER_MONO) { - return C_you_later_job( - date + 3600, job, original_trace, this, random_number); + return delay_job( + date + 3600, job, original_trace, this, random_number, true); } if (behavior_number == R_DEGRAD_MONO) { @@ -252,8 +252,8 @@ bool DMUserMultiBehavior::exec_red_behavior_multi( } if (behavior_number == R_C_YOU_LATER_MULTI) { - return C_you_later_job( - date + 3600, job, original_trace, this, random_number); + return delay_job( + date + 3600, job, original_trace, this, random_number, true); } if (behavior_number == R_DEGRAD_MULTI) { -- GitLab