Comm() = default;
Comm* do_start() override;
-protected:
static xbt::signal<void(Comm const&)> on_send;
xbt::signal<void(Comm const&)> on_this_send;
static xbt::signal<void(Comm const&)> on_recv;
inline static xbt::signal<void(Comm const&)> on_start;
xbt::signal<void(Comm const&)> on_this_start;
+protected:
void fire_on_completion() const override {
/* The completion signal of a Comm has to be thrown only once and not by the sender AND the receiver.
then Comm::on_completion is thrown in the kernel in CommImpl::finish.
bool parallel_ = false;
+ inline static xbt::signal<void(Exec const&)> on_start;
+ xbt::signal<void(Exec const&)> on_this_start;
+
protected:
explicit Exec(kernel::activity::ExecImplPtr pimpl);
Exec* do_start() override;
void reset() const;
- inline static xbt::signal<void(Exec const&)> on_start;
- xbt::signal<void(Exec const&)> on_this_start;
void fire_on_completion() const override { on_completion(*this); }
void fire_on_this_completion() const override { on_this_completion(*this); }
void fire_on_suspend() const override { on_suspend(*this); }