From 652d557582025d8fe58da7da796805dcdfeca10f Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Mon, 18 Apr 2011 21:22:45 +0200 Subject: [PATCH 1/3] minor change --- games/pong_bot_e/ggs_network.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/games/pong_bot_e/ggs_network.erl b/games/pong_bot_e/ggs_network.erl index fa3e401..1b49507 100644 --- a/games/pong_bot_e/ggs_network.erl +++ b/games/pong_bot_e/ggs_network.erl @@ -25,7 +25,7 @@ received_command(Headers, Data) -> io:format("Game token: ~s~n", [Data]), pong_bot:set_game_token(Data), %gen_server:cast({global, pong_bot}, {game_token, Data}), - send_command("'ready'", ""); + send_command("ready", ""); %pong_bot:ggsNetworkReady(); Unneccessary "defined" -> ok; @@ -50,7 +50,7 @@ make_message(ServerOrGame, Command, Args) -> MessageWithArgs. send_command(Command, Args) -> - write(make_message("Client", Command, Args)). + write(make_message("Game", Command, Args)). write(Message) -> Socket = gen_server:call({global, pong_bot}, socket), From 3a2a95855d838b5354a31c9e6c0ddf06232a6d79 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Tue, 26 Apr 2011 14:11:18 +0200 Subject: [PATCH 2/3] added stats module --- doc/report | 2 +- games/pong_bot_e/ggs_network.erl | 2 +- src/ggs_player.erl | 1 + src/ggs_stats.erl | 47 ++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/ggs_stats.erl diff --git a/doc/report b/doc/report index 030e0ec..0031285 160000 --- a/doc/report +++ b/doc/report @@ -1 +1 @@ -Subproject commit 030e0ecafff27fff8e6918add47dfcdeec363e7c +Subproject commit 00312859714bef6e9a4fdb9931a41fef56eeb89a diff --git a/games/pong_bot_e/ggs_network.erl b/games/pong_bot_e/ggs_network.erl index 343465f..f108c23 100644 --- a/games/pong_bot_e/ggs_network.erl +++ b/games/pong_bot_e/ggs_network.erl @@ -3,7 +3,7 @@ -export([read/2, send_command/3]). connect() -> - {ok,Socket} = gen_tcp:connect("localhost", 9000,[{active, false}]), + {ok,Socket} = gen_tcp:connect("ggs.jeena.net", 9000,[{active, false}]), Socket. read(Socket, Ref) -> diff --git a/src/ggs_player.erl b/src/ggs_player.erl index 2e07527..a9c898b 100644 --- a/src/ggs_player.erl +++ b/src/ggs_player.erl @@ -111,6 +111,7 @@ handle_cast({srv_cmd, "define", _Headers, Data}, #state { table = Table } = Stat {noreply, State}; handle_cast({game_cmd, Command, _Headers, Data}, #state { table = Table } = State) -> + ggs_stats:message(), ggs_table:notify(Table, self(), {game, Command, Data}), {noreply, State}; diff --git a/src/ggs_stats.erl b/src/ggs_stats.erl new file mode 100644 index 0000000..c3a94b6 --- /dev/null +++ b/src/ggs_stats.erl @@ -0,0 +1,47 @@ +-module(ggs_stats). +-export([start_link/0, message/0, print/0, tick/0]). +-behaviour(gen_server). +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, + terminate/2, code_change/3]). +-vsn(0). + +-record(ate, { count = 0 }). +-define(SERVER, ?MODULE). + +message() -> + gen_server:cast(ggs_stats, add_one). + +print() -> + gen_server:cast(ggs_stats, print). + +tick() -> + print(), + gen_server:cast(ggs_stats, tick), + timer:apply_after(1000, ggs_stats, tick, []). + +start_link() -> + gen_server:start_link({local, ?SERVER}, ?MODULE, [0], []). + + +init([Count]) -> + St = #ate{ count = Count }, + {ok, St}. + +handle_cast(add_one, St) -> + NewSt = #ate { count = St#ate.count + 1}, + {noreply, NewSt}; + +handle_cast(print, St) -> + erlang:display(St#ate.count), + {noreply, St}; + +handle_cast(tick, _St) -> + NewSt = #ate { count = 0 }, + {noreply, NewSt}. + + + +handle_call(_Request, _From, St) -> {stop, unimplemented, St}. +handle_info(_Info, St) -> {stop, unimplemented, St}. +terminate(_Reason, _St) -> ok. +code_change(_OldVsn, St, _Extra) -> {ok, St}. From 28ef543265cccadbdd4f7c91f01c961bc04c4f59 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Tue, 26 Apr 2011 14:13:45 +0200 Subject: [PATCH 3/3] moved stats to protocol for message --- src/ggs_player.erl | 1 - src/ggs_protocol.erl | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ggs_player.erl b/src/ggs_player.erl index a9c898b..2e07527 100644 --- a/src/ggs_player.erl +++ b/src/ggs_player.erl @@ -111,7 +111,6 @@ handle_cast({srv_cmd, "define", _Headers, Data}, #state { table = Table } = Stat {noreply, State}; handle_cast({game_cmd, Command, _Headers, Data}, #state { table = Table } = State) -> - ggs_stats:message(), ggs_table:notify(Table, self(), {game, Command, Data}), {noreply, State}; diff --git a/src/ggs_protocol.erl b/src/ggs_protocol.erl index 92b7362..a0f68a3 100644 --- a/src/ggs_protocol.erl +++ b/src/ggs_protocol.erl @@ -43,6 +43,7 @@ create_message({Command, Data}) -> %% Assemble a message which can b %e used as a reply to a client create_message(Cmd, Enc, Acc, Data) -> + ggs_stats:message(), Length = integer_to_list(string:len(Data)), Msg = "Client-Command: " ++ Cmd ++ "\n" ++ "Client-Encoding: " ++ Enc ++ "\n" ++ @@ -109,6 +110,7 @@ code_change(_OldVsn, State, _Extra) -> prettify(Args, Data) -> + ggs_stats:message(), case lists:keyfind("Server-Command", 1, Args) of {_, Value} -> {srv_cmd, Value, Args, Data};