Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[no-ci] precise which methods of the Actor class are static
[simgrid.git] / include / simgrid / s4u / Comm.hpp
index 72be44048317d5aaaba1c157fc43cfac287f509b..393b48ac5c792c63980460fc2aec92c214912d0f 100644 (file)
@@ -50,9 +50,17 @@ protected:
        then Comm::on_completion is thrown in the kernel in CommImpl::finish.
      */
   }
-  void fire_on_veto() const override { on_veto(const_cast<Comm&>(*this)); }
+  void fire_on_this_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.
+     */
+  }
   void fire_on_suspend() const override { on_suspend(*this); }
+  void fire_on_this_suspend() const override { on_this_suspend(*this); }
   void fire_on_resume() const override { on_resume(*this); }
+  void fire_on_this_resume() const override { on_this_resume(*this); }
+  void fire_on_veto() const override { on_veto(const_cast<Comm&>(*this)); }
+  void fire_on_this_veto() const override { on_this_veto(const_cast<Comm&>(*this)); }
 
 public:
   static void on_send_cb(const std::function<void(Comm const&)>& cb) { on_send.connect(cb); }