aboutsummaryrefslogtreecommitdiffstats
path: root/remote.erl
diff options
context:
space:
mode:
authorMarco Ziener <mziener@lavabit.com>2010-10-12 10:13:08 +0200
committerMarco Ziener <mziener@lavabit.com>2010-10-12 10:13:08 +0200
commit5ef51b5a6dd4d346b34d5c25c8fa9864b016728c (patch)
treeaf3d8ae5aa1438d6e7a6d32fba919e56dc931b71 /remote.erl
parent466cff95509b577b480eb91ba794e79e754dc01e (diff)
downloaderlang-5ef51b5a6dd4d346b34d5c25c8fa9864b016728c.tar.gz
erlang-5ef51b5a6dd4d346b34d5c25c8fa9864b016728c.tar.xz
erlang-5ef51b5a6dd4d346b34d5c25c8fa9864b016728c.zip
RPCServer
Diffstat (limited to '')
-rw-r--r--remote.erl23
1 files changed, 23 insertions, 0 deletions
diff --git a/remote.erl b/remote.erl
new file mode 100644
index 0000000..d3cf88a
--- /dev/null
+++ b/remote.erl
@@ -0,0 +1,23 @@
+-module(remote).
+-export([start/0, calculate/1]).
+
+rpc(C) ->
+ rechner!{self, C},
+ receive
+ {rechner, Reply} ->
+ Reply
+ end.
+
+loop() ->
+ receive
+ {From, {calculate, String}} ->
+ From ! {rechner, {calculate, calculate(String)}},
+ loop()
+ end.
+
+start() ->
+ register(rechner, spawn(fun () -> loop() end)).
+
+calculate(String) ->
+ calc:eval(String).
+