X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bfbeefca4cf907a4139e2bd7b8eee57ff46f01ad..1b118858229a08f00b76ab2105779c814f0363d0:/examples/scala/master_slave_bypass/Master.scala diff --git a/examples/scala/master_slave_bypass/Master.scala b/examples/scala/master_slave_bypass/Master.scala new file mode 100644 index 0000000000..5e2fbee647 --- /dev/null +++ b/examples/scala/master_slave_bypass/Master.scala @@ -0,0 +1,39 @@ +/* + * Master of a basic master/slave example in Java + * + * Copyright 2006-2012 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. + */ + +package master_slave_bypass + +import Stream._ +import org.simgrid.msg.HostNotFoundException +import org.simgrid.msg.Msg +import org.simgrid.msg.MsgException +import org.simgrid.msg.Process +import org.simgrid.msg.Task + +class Master(hostname:String, name:String) extends Process(hostname,name) { + + def main(args:Array[String]) { + Msg.info("Master Hello!") + + //Create a slave on host "alice" + try { + Msg.info("Create process on host 'alice'") + new Slave("alice","process2").start() + } catch { + case e:MsgException => println("Process2!") + } + + //Wait for slave "alice" + continually({Task.receive("alice")}) + .takeWhile(!_.isInstanceOf[FinalizeTask]) + .force // to force the list to be compute + + Msg.info("Received Finalize. I'm done. See you!") + } +}