Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ok, last try here: use uint64_t for size of sent data
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 6 Jul 2017 13:12:52 +0000 (15:12 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 6 Jul 2017 13:12:57 +0000 (15:12 +0200)
All this is ridiculous since we use doubles internally for the fluid models.
But some users don't like to be given the ability to send 0.5 bytes.

include/simgrid/s4u/Mailbox.hpp
src/s4u/s4u_mailbox.cpp

index 9ccf53d..f7d280d 100644 (file)
@@ -152,17 +152,14 @@ public:
   /** Creates (but don't start) a data emission to that mailbox */
   CommPtr put_init();
   /** Creates (but don't start) a data emission to that mailbox */
-  CommPtr put_init(void* data, double simulatedSizeInBytes);
+  CommPtr put_init(void* data, uint64_t simulatedSizeInBytes);
   /** Creates and start a data emission to that mailbox */
-  CommPtr put_async(void* data, double simulatedSizeInBytes);
+  CommPtr put_async(void* data, uint64_t simulatedSizeInBytes);
 
-  /** Blocking data emission
-   *
-   * simulatedSizeInBytes must be a double so that you can send more than 4Gb even if the simulator runs on 32 bits
-   */
-  void put(void* payload, double simulatedSizeInBytes);
+  /** Blocking data emission */
+  void put(void* payload, uint64_t simulatedSizeInBytes);
   /** Blocking data emission with timeout */
-  void put(void* payload, double simulatedSizeInBytes, double timeout);
+  void put(void* payload, uint64_t simulatedSizeInBytes, double timeout);
 
   /** Creates (but don't start) a data reception onto that mailbox */
   CommPtr get_init();
index cd5b321..b37d9ff 100644 (file)
@@ -73,7 +73,7 @@ CommPtr Mailbox::put_init()
   res->mailbox_ = this;
   return res;
 }
-s4u::CommPtr Mailbox::put_init(void* data, double simulatedSize)
+s4u::CommPtr Mailbox::put_init(void* data, uint64_t simulatedSize)
 {
   s4u::CommPtr res = put_init();
   res->setRemains(simulatedSize);
@@ -81,13 +81,13 @@ s4u::CommPtr Mailbox::put_init(void* data, double simulatedSize)
   res->srcBuffSize_ = sizeof(void*);
   return res;
 }
-s4u::CommPtr Mailbox::put_async(void* data, double simulatedSize)
+s4u::CommPtr Mailbox::put_async(void* data, uint64_t simulatedSize)
 {
   s4u::CommPtr res = put_init(data, simulatedSize);
   res->start();
   return res;
 }
-void Mailbox::put(void* payload, double simulatedSize)
+void Mailbox::put(void* payload, uint64_t simulatedSize)
 {
   CommPtr c = put_init();
   c->setRemains(simulatedSize);
@@ -95,7 +95,7 @@ void Mailbox::put(void* payload, double simulatedSize)
   c->wait();
 }
 /** Blocking send with timeout */
-void Mailbox::put(void* payload, double simulatedSize, double timeout)
+void Mailbox::put(void* payload, uint64_t simulatedSize, double timeout)
 {
   CommPtr c = put_init();
   c->setRemains(simulatedSize);