From: Martin Quinson Date: Thu, 6 Jul 2017 13:12:52 +0000 (+0200) Subject: ok, last try here: use uint64_t for size of sent data X-Git-Tag: v3_17~434 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c5180d86a23e831c3a44ab8d40b90ce62395ed3c ok, last try here: use uint64_t for size of sent data 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. --- diff --git a/include/simgrid/s4u/Mailbox.hpp b/include/simgrid/s4u/Mailbox.hpp index 9ccf53d269..f7d280db98 100644 --- a/include/simgrid/s4u/Mailbox.hpp +++ b/include/simgrid/s4u/Mailbox.hpp @@ -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(); diff --git a/src/s4u/s4u_mailbox.cpp b/src/s4u/s4u_mailbox.cpp index cd5b32136d..b37d9ff045 100644 --- a/src/s4u/s4u_mailbox.cpp +++ b/src/s4u/s4u_mailbox.cpp @@ -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);