Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
start working on adding dependencies between activities
[simgrid.git] / src / s4u / s4u_Activity.cpp
1 /* Copyright (c) 2006-2020. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #include "xbt/log.h"
7
8 #include "simgrid/s4u/Activity.hpp"
9 #include "simgrid/s4u/Engine.hpp"
10 XBT_LOG_EXTERNAL_CATEGORY(s4u);
11 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_activity, s4u, "S4U activities");
12
13 namespace simgrid {
14 namespace s4u {
15
16 void Activity::wait_until(double time_limit)
17 {
18   double now = Engine::get_clock();
19   if (time_limit > now)
20     wait_for(time_limit - now);
21 }
22
23 double Activity::get_remaining()
24 {
25   return remains_;
26 }
27
28 Activity* Activity::set_remaining(double remains)
29 {
30   xbt_assert(state_ == State::INITED, "Cannot change the remaining amount of work once the Activity is started");
31   remains_ = remains;
32   return this;
33 }
34
35 } // namespace s4u
36 } // namespace simgrid