X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5c3fe220a3cc4a75f37d62a06138fdf6938b2f0e..472b2aa318353674993dffd9792f1a155f579d6f:/include/simgrid/s4u/comm.hpp diff --git a/include/simgrid/s4u/comm.hpp b/include/simgrid/s4u/comm.hpp index 891d3000bd..7ff86151a3 100644 --- a/include/simgrid/s4u/comm.hpp +++ b/include/simgrid/s4u/comm.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2006-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2006-2016. 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. */ @@ -11,7 +10,6 @@ #include #include -#include #include @@ -30,18 +28,18 @@ public: public: - /*! tanke a range of s4u::Comm* (last excluded) and return when one of them is finished. The return value is an iterator on the finished Comms. */ + /*! take a range of s4u::Comm* (last excluded) and return when one of them is finished. The return value is an iterator on the finished Comms. */ template static I wait_any(I first, I last) { // Map to dynar: - xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::simix::Synchro*), NULL); + xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), NULL); for(I iter = first; iter != last; iter++) { Comm& comm = **iter; if (comm.state_ == inited) comm.start(); xbt_assert(comm.state_ == started); - xbt_dynar_push_as(comms, simgrid::simix::Synchro*, comm.pimpl_); + xbt_dynar_push_as(comms, simgrid::kernel::activity::ActivityImpl*, comm.pimpl_); } // Call the underlying simcall: int idx = simcall_comm_waitany(comms, -1); @@ -59,13 +57,13 @@ public: I wait_any_for(I first, I last, double timeout) { // Map to dynar: - xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::simix::Synchro*), NULL); + xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), NULL); for(I iter = first; iter != last; iter++) { Comm& comm = **iter; if (comm.state_ == inited) comm.start(); xbt_assert(comm.state_ == started); - xbt_dynar_push_as(comms, simgrid::simix::Synchro*, comm.pimpl_); + xbt_dynar_push_as(comms, simgrid::kernel::activity::ActivityImpl*, comm.pimpl_); } // Call the underlying simcall: int idx = simcall_comm_waitany(comms, timeout); @@ -79,13 +77,13 @@ public: return res; } /** Creates (but don't start) an async send to the mailbox @p dest */ - static Comm &send_init(Mailbox &dest); + static Comm &send_init(MailboxPtr dest); /** Creates and start an async send to the mailbox @p dest */ - static Comm &send_async(Mailbox &dest, void *data, int simulatedByteAmount); + static Comm &send_async(MailboxPtr dest, void *data, int simulatedByteAmount); /** Creates (but don't start) an async recv onto the mailbox @p from */ - static Comm &recv_init(Mailbox &from); + static Comm &recv_init(MailboxPtr from); /** Creates and start an async recv to the mailbox @p from */ - static Comm &recv_async(Mailbox &from, void **data); + static Comm &recv_async(MailboxPtr from, void **data); void start() override; void wait() override; @@ -120,13 +118,13 @@ private: /* FIXME: expose these elements in the API */ int detached_ = 0; - int (*matchFunction_)(void *, void *, smx_synchro_t) = nullptr; + int (*matchFunction_)(void *, void *, smx_activity_t) = nullptr; void (*cleanFunction_)(void *) = nullptr; - void (*copyDataFunction_)(smx_synchro_t, void*, size_t) = nullptr; + void (*copyDataFunction_)(smx_activity_t, void*, size_t) = nullptr; - smx_process_t sender_ = nullptr; - smx_process_t receiver_ = nullptr; - Mailbox *mailbox_ = nullptr; + smx_actor_t sender_ = nullptr; + smx_actor_t receiver_ = nullptr; + MailboxPtr mailbox_ = nullptr; }; }} // namespace simgrid::s4u