Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
New function: Comm::set_payload_size() to set the amount of bytes to simulate
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 2 Feb 2021 20:16:56 +0000 (21:16 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 2 Feb 2021 20:19:48 +0000 (21:19 +0100)
ChangeLog
include/simgrid/s4u/Comm.hpp
src/s4u/s4u_Comm.cpp

index b8dc8ba..7567984 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,7 @@ S4U:
    or Mailbox::get_async<void>() if you really want to play with void*.
  - Unify the interface of Activity::on_{start/activity}
  - New function: Comm::get_dst_data()
+ - New function: Comm::set_payload_size() to set the amount of bytes to simulate.
  - New functions: Comm::sendto_{init,async} to initiate a communication
    on between two (possibly remote) hosts.
 
index 86bbc5c..e0f42ae 100644 (file)
@@ -85,23 +85,31 @@ public:
   /** Specify the data to send.
    *
    * This is way will get actually copied over to the receiver.
-   * That's completely unrelated from the simulated size (given with @ref Activity::set_remaining()):
+   * That's completely unrelated from the simulated size (given with @ref Comm::set_payload_size()):
    * you can send a short buffer in your simulator, that represents a very large message
    * in the simulated world, or the opposite.
    */
   CommPtr set_src_data(void* buff);
-  /** Specify the size of the data to send. Not to be mixed with @ref Activity::set_remaining()
+  /** Specify the size of the data to send. Not to be mixed with @ref Comm::set_payload_size()
    *
    * That's the size of the data to actually copy in the simulator (ie, the data passed with Activity::set_src_data()).
-   * That's completely unrelated from the simulated size (given with @ref Activity::set_remaining()):
+   * That's completely unrelated from the simulated size (given with @ref Comm::set_payload_size()):
    * you can send a short buffer in your simulator, that represents a very large message
    * in the simulated world, or the opposite.
    */
   CommPtr set_src_data_size(size_t size);
-  /** Specify the data to send and its size. Don't mix the size with @ref Activity::set_remaining()
+
+  /* Specify the amount of bytes which exchange should be simulated. Not to be mixed with @ref Comm::set_src_data_size()
+   *
+   * That's the size of the simulated data, that's completely related from the actual data size (given with @ref
+   * Comm::set_src_data_size()).
+   */
+  Comm* set_payload_size(double bytes);
+
+  /** Specify the data to send and its size. Don't mix the size with @ref Comm::set_payload_size()
    *
    * This is way will get actually copied over to the receiver.
-   * That's completely unrelated from the simulated size (given with @ref Activity::set_remaining()):
+   * That's completely unrelated from the simulated size (given with @ref Comm::set_payload_size()):
    * you can send a short buffer in your simulator, that represents a very large message
    * in the simulated world, or the opposite.
    */
index 0042ba9..a0ee15f 100644 (file)
@@ -118,6 +118,11 @@ CommPtr Comm::set_dst_data(void** buff, size_t size)
   dst_buff_size_ = size;
   return this;
 }
+Comm* Comm::set_payload_size(double bytes)
+{
+  set_remaining(bytes);
+  return this;
+}
 
 CommPtr Comm::sendto_init(Host* from, Host* to)
 {