blob: 12573e24d3f506bf6205880db9fafd3a83cca2fd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/*
* @author Stephane Micheloud
*/
import scala.actors.Actor._, ClientHelper._
import scala.actors.remote._, RemoteActor._
import scala.remoting._, Debug._
object Foo {
def trace(msg: String) { info("[Foo.trace] "+msg)}
}
object Client {
val yInstVal: Int = 10
var yInstVar: Int = 99
object Bar {
def trace(msg: String) { info("[Bar.trace] "+msg) }
}
def main(args: Array[String]) {
init(args)
actor {
val server = select(Node(host, port), 'Server)
val zLocVal: Int = 1000
var zLocVar: Int = 9998
server ! detach(
(x: Int) => {
println("yInstVal = "+yInstVal)
this.trace("yInstVar = "+yInstVar)
Bar.trace("zLocVal = "+zLocVal)
Foo.trace("zLocVar = "+zLocVar)
zLocVar += 2
System.out.println("zLocVal = "+zLocVal)
Debug.info("zLocVar = "+zLocVar)
x + yInstVal + yInstVar + zLocVal + zLocVar
})
react {
case result: Int =>
println("result received: " + result)
Predef.exit(0)
}
}
}
private def trace(msg: String) { info("[Client.trace] "+msg) }
}
object ClientHelper {
private var _host = "127.0.0.1"
private var _port = 8888
def host = _host
def port = _port
def init(args: Array[String]) {
try { _host = args(0) } catch { case _ => }
try { _port = args(1).toInt } catch { case _ => }
}
}
|