X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7f4f03348bd07609e258eb3b545bdafc2c881847..f232c72280368ced3f5706dde1014d969dac3649:/examples/s4u/basic/s4u_basic.cpp diff --git a/examples/s4u/basic/s4u_basic.cpp b/examples/s4u/basic/s4u_basic.cpp index 6bbfdecbd6..11b3e11460 100644 --- a/examples/s4u/basic/s4u_basic.cpp +++ b/examples/s4u/basic/s4u_basic.cpp @@ -9,43 +9,32 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "a sample log category"); -class Worker : simgrid::s4u::Actor { +class Worker { public: - Worker(const char*procname, simgrid::s4u::Host *host,int argc, char **argv) - : simgrid::s4u::Actor(procname,host,argc,argv){} - - int main(int argc, char **argv) { - XBT_INFO("Hello s4u, I'm ready to serve"); - - char *msg = (char*)recv(*simgrid::s4u::Mailbox::byName("worker")); - XBT_INFO("I received '%s'",msg); - XBT_INFO("I'm done. See you."); - return 1; - } + void operator()() { + XBT_INFO("Hello s4u, I'm ready to serve"); + char *msg = (char*)simgrid::s4u::this_actor::recv(*simgrid::s4u::Mailbox::byName("worker")); + XBT_INFO("I received '%s'",msg); + XBT_INFO("I'm done. See you."); + } }; -class Master : simgrid::s4u::Actor { +class Master { public: - Master(const char*procname, simgrid::s4u::Host *host,int argc, char **argv) - : Actor(procname,host,argc,argv){} - - int main(int argc, char **argv) { - const char *msg = "GaBuZoMeu"; - XBT_INFO("Hello s4u, I have something to send"); - send(*simgrid::s4u::Mailbox::byName("worker"), xbt_strdup(msg), strlen(msg)); - - XBT_INFO("I'm done. See you."); - return 1; - } + void operator()() { + const char *msg = "GaBuZoMeu"; + XBT_INFO("Hello s4u, I have something to send"); + simgrid::s4u::this_actor::send(*simgrid::s4u::Mailbox::byName("worker"), xbt_strdup(msg), strlen(msg)); + XBT_INFO("I'm done. See you."); + } }; int main(int argc, char **argv) { - simgrid::s4u::Engine *e = new simgrid::s4u::Engine(&argc,argv); - e->loadPlatform("../../platforms/two_hosts_platform.xml"); - - new Worker("worker", simgrid::s4u::Host::byName("host0"), 0, NULL); - new Master("master", simgrid::s4u::Host::byName("host1"), 0, NULL); - e->run(); - return 0; + simgrid::s4u::Engine *e = new simgrid::s4u::Engine(&argc,argv); + e->loadPlatform("../../platforms/two_hosts_platform.xml"); + new simgrid::s4u::Actor("worker", simgrid::s4u::Host::by_name("host0"), Worker()); + new simgrid::s4u::Actor("master", simgrid::s4u::Host::by_name("host1"), 0, Master()); + e->run(); + return 0; }