can_put_->wait(lock);
if (tmode_ == TransferMode::MAILBOX) {
comm = mbox_->put_init(data, simulated_size_in_bytes)
- ->set_copy_data_callback(s4u::Comm::copy_pointer_callback)
->start();
} else
queue_.push(data);
if (tmode_ == TransferMode::MAILBOX)
comm = mbox_->get_init()
->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*))
- ->set_copy_data_callback(s4u::Comm::copy_pointer_callback)
->start();
else {
*data = queue_.front();