Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
try to make TestHostOnOff do something
[simgrid.git] / examples / s4u / basic / s4u_basic.cpp
index 0a7c018..13d0103 100644 (file)
@@ -9,43 +9,33 @@
 
 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) {
+  void operator()() {
     XBT_INFO("Hello s4u, I'm ready to serve");
-
-    char *msg = (char*)recv(*simgrid::s4u::Mailbox::byName("worker"));
+    char *msg = static_cast<char*>(simgrid::s4u::this_actor::recv(
+      *simgrid::s4u::Mailbox::byName("worker")));
     XBT_INFO("I received '%s'",msg);
     XBT_INFO("I'm done. See you.");
-    return 1;
   }
 };
 
-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) {
+  void operator()() {
     const char *msg = "GaBuZoMeu";
     XBT_INFO("Hello s4u, I have something to send");
-    send(*simgrid::s4u::Mailbox::byName("worker"), xbt_strdup(msg), strlen(msg));
-
+    simgrid::s4u::this_actor::send(*simgrid::s4u::Mailbox::byName("worker"), xbt_strdup(msg), strlen(msg));
     XBT_INFO("I'm done. See you.");
-    return 1;
   }
 };
 
 
 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::by_name("host0"), 0, NULL);
-  new Master("master", simgrid::s4u::Host::by_name("host1"), 0, NULL);
+  e->loadPlatform("../../platforms/two_hosts.xml");
+  new simgrid::s4u::Actor("worker", simgrid::s4u::Host::by_name("Tremblay"), Worker());
+  new simgrid::s4u::Actor("master", simgrid::s4u::Host::by_name("Jupiter"), 0, Master());
   e->run();
   return 0;
 }