X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5e08a76b1a43e12302ebd25abbe8830fcefca72b..3cbf54871089cc3dc50b6832652b5765e1601039:/src/simix/smx_network.cpp diff --git a/src/simix/smx_network.cpp b/src/simix/smx_network.cpp index b45565785f..3852732056 100644 --- a/src/simix/smx_network.cpp +++ b/src/simix/smx_network.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -30,7 +30,12 @@ static void SIMIX_comm_start(simgrid::kernel::activity::CommImplPtr synchro); /** * \brief Checks if there is a communication activity queued in a deque matching our needs + * \param deque where to search into * \param type The type of communication we are looking for (comm_send, comm_recv) + * \param match_fun the function to apply + * \param this_user_data additional parameter to the match_fun + * \param my_synchro what to compare against + * \param remove_matching whether or not to clean the found object from the queue * \return The communication activity if found, nullptr otherwise */ static simgrid::kernel::activity::CommImplPtr @@ -317,8 +322,8 @@ void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_activity_t synchro, do SIMIX_comm_finish(synchro); } else { /* we need a surf sleep action even when there is no timeout, otherwise surf won't tell us when the host fails */ - surf_action_t sleep = simcall->issuer->host->pimpl_cpu->sleep(timeout); - sleep->setData(synchro.get()); + simgrid::kernel::resource::Action* sleep = simcall->issuer->host->pimpl_cpu->sleep(timeout); + sleep->set_data(synchro.get()); simgrid::kernel::activity::CommImplPtr comm = boost::static_pointer_cast(synchro); @@ -445,7 +450,7 @@ void SIMIX_waitany_remove_simcall_from_actions(smx_simcall_t simcall) /** * \brief Starts the simulation of a communication synchro. - * \param synchro the communication synchro + * \param comm the communication that will be started */ static inline void SIMIX_comm_start(simgrid::kernel::activity::CommImplPtr comm) { @@ -456,21 +461,21 @@ static inline void SIMIX_comm_start(simgrid::kernel::activity::CommImplPtr comm) simgrid::s4u::Host* receiver = comm->dst_proc->host; comm->surfAction_ = surf_network_model->communicate(sender, receiver, comm->task_size, comm->rate); - comm->surfAction_->setData(comm.get()); + comm->surfAction_->set_data(comm.get()); comm->state = SIMIX_RUNNING; XBT_DEBUG("Starting communication %p from '%s' to '%s' (surf_action: %p)", comm.get(), sender->getCname(), receiver->getCname(), comm->surfAction_); /* If a link is failed, detect it immediately */ - if (comm->surfAction_->getState() == simgrid::surf::Action::State::failed) { + if (comm->surfAction_->get_state() == simgrid::kernel::resource::Action::State::failed) { XBT_DEBUG("Communication from '%s' to '%s' failed to start because of a link failure", sender->getCname(), receiver->getCname()); comm->state = SIMIX_LINK_FAILURE; comm->cleanupSurf(); } - /* If any of the process is suspend, create the synchro but stop its execution, + /* If any of the process is suspended, create the synchro but stop its execution, it will be restarted when the sender process resume */ if (comm->src_proc->isSuspended() || comm->dst_proc->isSuspended()) { if (comm->src_proc->isSuspended()) @@ -598,7 +603,7 @@ void SIMIX_comm_finish(smx_activity_t synchro) } else if (simcall->call == SIMCALL_COMM_TESTANY) { e.value = -1; - auto comms = simcall_comm_testany__get__comms(simcall); + auto* comms = simcall_comm_testany__get__comms(simcall); auto count = simcall_comm_testany__get__count(simcall); auto element = std::find(comms, comms + count, synchro); if (element == comms + count)