X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/efe776a7f971fa0f6641baa5c835364604b600c8..5316ff325d3557f5437f37082bec3555506a5a75:/src/kernel/activity/SynchroRaw.hpp diff --git a/src/kernel/activity/SynchroRaw.hpp b/src/kernel/activity/SynchroRaw.hpp index a8289758d1..62b62bc323 100644 --- a/src/kernel/activity/SynchroRaw.hpp +++ b/src/kernel/activity/SynchroRaw.hpp @@ -3,8 +3,8 @@ /* 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. */ -#ifndef SIMIX_SYNCHRO_RAW_HPP -#define SIMIX_SYNCHRO_RAW_HPP +#ifndef SIMGRID_KERNEL_ACTIVITY_SYNCHRO_RAW_HPP +#define SIMGRID_KERNEL_ACTIVITY_SYNCHRO_RAW_HPP #include "src/kernel/activity/ActivityImpl.hpp" #include "surf/surf.hpp" @@ -14,14 +14,23 @@ namespace kernel { namespace activity { /** Used to implement mutexes, semaphores and conditions */ -class XBT_PUBLIC RawImpl : public ActivityImpl { +class XBT_PUBLIC RawImpl : public ActivityImpl_T { + sg_host_t host_ = nullptr; + double timeout_ = -1; + public: - ~RawImpl() override; - RawImpl* start(s4u::Host* host, double timeout); + RawImpl& set_host(s4u::Host* host); + RawImpl& set_timeout(double timeout); + + RawImpl* start(); void suspend() override; void resume() override; + void cancel() override; void post() override; + void finish() override; }; -}}} // namespace simgrid::kernel::activity +} // namespace activity +} // namespace kernel +} // namespace simgrid #endif