#include "simgrid/s4u/Mailbox.hpp"
#include "src/kernel/activity/SynchroComm.hpp"
+#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_network, simix, "SIMIX network-related synchronization");
if (timeout < 0.0){
simcall->timer = NULL;
} else {
- simcall->timer = SIMIX_timer_set(timeout, [simcall]() {
+ simcall->timer = SIMIX_timer_set(SIMIX_get_clock() + timeout, [simcall]() {
SIMIX_waitany_remove_simcall_from_actions(simcall);
simcall_comm_waitany__set__result(simcall, -1);
SIMIX_simcall_answer(simcall);
/* If both the sender and the receiver are already there, start the communication */
if (synchro->state == SIMIX_READY) {
- sg_host_t sender = comm->src_proc->host;
- sg_host_t receiver = comm->dst_proc->host;
+ simgrid::s4u::Host* sender = comm->src_proc->host;
+ simgrid::s4u::Host* receiver = comm->dst_proc->host;
XBT_DEBUG("Starting communication %p from '%s' to '%s'", synchro, sg_host_get_name(sender), sg_host_get_name(receiver));
- comm->surf_comm = surf_network_model_communicate(surf_network_model, sender, receiver, comm->task_size, comm->rate);
+ comm->surf_comm = surf_network_model->communicate(sender, receiver, comm->task_size, comm->rate);
comm->surf_comm->setData(synchro);
comm->state = SIMIX_RUNNING;