-/* Copyright (c) 2004-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "simgrid/s4u/Host.hpp"
#include "src/kernel/lmm/maxmin.hpp"
#include "src/kernel/resource/Resource.hpp"
+#include "xbt/ex.h"
#include <list>
CpuImpl* set_core_count(int core_count);
virtual int get_core_count() const { return core_count_; }
+ void turn_off() override;
+
bool is_used() const override { return true; }
void seal() override;
* Action *
**********/
-/** @ingroup SURF_cpu_interface
+/** @ingroup Model_cpu_interface
* @brief A CpuAction represents the execution of code on one or several Cpus
*/
class XBT_PUBLIC CpuAction : public Action {
public:
using Action::Action;
- /** @brief Signal emitted when the action state changes (ready/running/done, etc)
- * Signature: `void(CpuAction const& action, simgrid::kernel::resource::Action::State previous)`
- */
- static xbt::signal<void(CpuAction const&, Action::State)> on_state_change;
-
void set_state(Action::State state) override;
void update_remains_lazy(double now) override;
std::list<CpuImpl*> cpus() const;
-
- void suspend() override;
- void resume() override;
};
} // namespace simgrid::kernel::resource