From 3d8b413a8fb8162b0d99c14900ddad688e434b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Tue, 1 Feb 2011 16:37:45 +0100 Subject: [PATCH] Now you can list all vms with __get_vms (just for testing) --- echo_test | 2 +- src/ggs_protocol.erl | 8 ++++++-- src/ggs_server.erl | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/echo_test b/echo_test index e62b07f..1bbff1f 100755 --- a/echo_test +++ b/echo_test @@ -10,7 +10,7 @@ port = gets s = TCPSocket.open(hostname, port.chop) -s.print("__hello") +s.print("__hello 0") while true line = s.gets # Read lines from the socket diff --git a/src/ggs_protocol.erl b/src/ggs_protocol.erl index 1ad61cc..c470beb 100644 --- a/src/ggs_protocol.erl +++ b/src/ggs_protocol.erl @@ -8,6 +8,8 @@ parse(Data) -> Message = string:tokens(Data, " "), io:format(Message), case Message of + ["__get_vms"] -> + {vms}; [RefID, "__error", Size, Message ] -> {ok, you_said_error}; [_, "__boot", _ ] -> @@ -23,10 +25,12 @@ parse(Data) -> [RefID, "__echo", Length, Msg ] -> {Ref, _} = string:to_integer(RefID), {echo, Ref, Length, Msg}; + [RefID, Command, _, Parameter ] -> + {cmd, Command, Parameter}; + %% Debugging tools, not for production use ["__crash"] -> {crash, 0}; - [RefID, Command, _, Parameter ] -> - {cmd, Command, Parameter}; + %% End debugging tools Other -> {out_of_bounds, Other} end. diff --git a/src/ggs_server.erl b/src/ggs_server.erl index e1cc16d..d7be36e 100644 --- a/src/ggs_server.erl +++ b/src/ggs_server.erl @@ -34,6 +34,7 @@ %% @end %%----------------------------------------------------- start_link(Port) -> + process_flag(trap_exit, true), gen_server:start_link({local, ?SERVER}, ?MODULE, [Port], []). start_link() -> @@ -114,9 +115,10 @@ do_JSCall(Socket, Data, State) -> []; {crash, Zero} -> 10/Zero; + {vms} -> + send(Socket, "RefID", State); % Set the new state to [] Other -> - io:format("Got '~p'", [Other]), send(Socket, "RefID", "__error"), [] end,