Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
forgot that in making Activities extendable. Should please Asan
[simgrid.git] / include / simgrid / s4u / Comm.hpp
index b42d1e9..bee49b3 100644 (file)
@@ -37,9 +37,6 @@ class XBT_PUBLIC Comm : public Activity_T<Comm> {
 
   Comm() = default;
 
-protected:
-  void complete(Activity::State state) override;
-
 public:
 #ifndef DOXYGEN
   friend Mailbox; // Factory of comms
@@ -47,6 +44,8 @@ public:
 
   ~Comm() override;
 
+  /*! Creates a communication that bypasses the mailbox mechanism. */
+  static CommPtr sendto_init();
   /*! Creates a communication beween the two given hosts, bypassing the mailbox mechanism. */
   static CommPtr sendto_init(Host* from, Host* to);
   /** Do an asynchronous communication between two arbitrary hosts.
@@ -107,6 +106,12 @@ public:
     return detach();
   }
 
+  /** Set the source and destination of communications that bypass the mailbox mechanism */
+  CommPtr set_source(Host* from);
+  Host* get_source() const { return from_; }
+  CommPtr set_destination(Host* to);
+  Host* get_destination() const { return to_; }
+
   /** Sets the maximal communication rate (in byte/sec). Must be done before start */
   CommPtr set_rate(double rate);