aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-10-13 23:15:11 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2010-10-13 23:15:11 +0200
commit398ee976066c88df5d7cd38086c021faa479614d (patch)
treebfb967b68b0730ce800fbc15544e602913790f19 /server
parenta6784d57c203b61b09b4a6d5d8895a666d89327f (diff)
downloaderlang-398ee976066c88df5d7cd38086c021faa479614d.tar.gz
erlang-398ee976066c88df5d7cd38086c021faa479614d.tar.xz
erlang-398ee976066c88df5d7cd38086c021faa479614d.zip
moved server to common (used from server and client)
Diffstat (limited to 'server')
-rw-r--r--server/server.erl45
1 files changed, 0 insertions, 45 deletions
diff --git a/server/server.erl b/server/server.erl
deleted file mode 100644
index 42b1822..0000000
--- a/server/server.erl
+++ /dev/null
@@ -1,45 +0,0 @@
-%% ---
-%% Excerpted from "Programming Erlang",
-%% published by The Pragmatic Bookshelf.
-%% Copyrights apply to this code. It may not be used to create training material,
-%% courses, books, articles, and the like. Contact us if you are in doubt.
-%% We make no guarantees that this code is fit for any purpose.
-%% Visit http://www.pragmaticprogrammer.com/titles/jaerlang for more book information.
-%%---
--module(server).
--export([start/2, rpc/2, swap_code/2]).
-
-start(Name, Mod) ->
- register(Name, spawn(fun() -> loop(Name,Mod,Mod:init()) end)).
-
-swap_code(Name, Mod) -> rpc(Name, {swap_code, Mod}).
-
-rpc(Name, Request) ->
- Name ! {self(), Request},
- receive
- {Name, crash} -> exit(rpc);
- {Name, ok, Response} -> Response
- end.
-
-loop(Name, Mod, OldState) ->
- receive
- {From, {swap_code, NewCallbackMod}} ->
- From ! {Name, ok, ack},
- loop(Name, NewCallbackMod, OldState);
- {From, Request} ->
- try Mod:handle(From, Request, OldState) of
- {Response, NewState} ->
- From ! {Name, ok, Response},
- loop(Name, Mod, NewState)
- catch
- _: Why ->
- log_the_error(Name, Request, Why),
- From ! {Name, crash},
- loop(Name, Mod, OldState)
- end
- end.
-
-log_the_error(Name, Request, Why) ->
- io:format("Server ~p request ~p ~n"
- "caused exception ~p~n",
- [Name, Request, Why]).