* 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);
+ CommPtr set_payload_size(double bytes);
/** Specify the data to send and its size. Don't mix the size with @ref Comm::set_payload_size()
*
template <typename T> CommPtr Mailbox::get_async(T** data)
{
- CommPtr res = get_init();
- res->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*));
+ CommPtr res = get_init()->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*));
res->vetoable_start();
return res;
}
dst_buff_size_ = size;
return this;
}
-Comm* Comm::set_payload_size(double bytes)
+CommPtr Comm::set_payload_size(double bytes)
{
- set_remaining(bytes);
+ Activity::set_remaining(bytes);
return this;
}
return res;
}
+
CommPtr Comm::sendto_async(Host* from, Host* to, double simulated_size_in_bytes)
{
- auto res = Comm::sendto_init(from, to);
- res->set_remaining(simulated_size_in_bytes)->start();
+ auto res = Comm::sendto_init(from, to)->set_payload_size(simulated_size_in_bytes);
+ res->vetoable_start();
return res;
}
return res;
}
-CommPtr Mailbox::put_init(void* data, uint64_t simulated_size_in_bytes)
+CommPtr Mailbox::put_init(void* payload, uint64_t simulated_size_in_bytes)
{
- CommPtr res = put_init();
- res->set_remaining(simulated_size_in_bytes);
- res->src_buff_ = data;
- res->src_buff_size_ = sizeof(void*);
- return res;
+ return put_init()->set_payload_size(simulated_size_in_bytes)->set_src_data(payload)->set_src_data_size(sizeof(void*));
}
CommPtr Mailbox::put_async(void* payload, uint64_t simulated_size_in_bytes)
{
xbt_assert(payload != nullptr, "You cannot send nullptr");
- CommPtr c = put_init();
- c->set_remaining(simulated_size_in_bytes);
- c->set_src_data(payload);
+ CommPtr c = put_init()->set_payload_size(simulated_size_in_bytes)->set_src_data(payload);
c->vetoable_start();
c->wait();
}
{
xbt_assert(payload != nullptr, "You cannot send nullptr");
- CommPtr c = put_init();
- c->set_remaining(simulated_size_in_bytes);
- c->set_src_data(payload);
+ CommPtr c = put_init()->set_payload_size(simulated_size_in_bytes)->set_src_data(payload);
c->vetoable_start();
c->wait_for(timeout);
}