From 104e5358a447e61755281329e0d72a61b1f65bea Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 28 Oct 2015 19:05:07 +0100 Subject: Simplify --- tda.erl | 69 +++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/tda.erl b/tda.erl index b417d9a..48eb9e0 100644 --- a/tda.erl +++ b/tda.erl @@ -10,9 +10,9 @@ start() -> register(tdaPid, spawn(?MODULE, client, [{dial, ?HOST, ?PORT}])). -stop() -> tdaPid ! {logout}. -ext() -> tdaPid ! {ext}. -co() -> tdaPid ! {co}. +stop() -> tdaPid ! logout. +ext() -> tdaPid ! ext. +co() -> tdaPid ! co. client({dial, Host, Port}) -> io:format("Dial ~p:~p~n", [Host, Port]), @@ -22,7 +22,7 @@ client({dial, Host, Port}) -> client(Conn); client({ok, Sock}) -> io:format("Connected~n", []), - tdaPid ! {login}, + tdaPid ! login, loop(Sock); client({error, Reason}) -> io:format("Error: ~p~n", [Reason]), @@ -32,60 +32,61 @@ loop(Sock) -> inet:setopts(Sock, [{active, once}]), io:format("Loop~n", []), receive - {login} -> + login -> io:format("Login~n", []), {ok, Hello} = acse:associate(), - gen_tcp:send(Sock, Hello), - loop(Sock); - {logout} -> + gen_tcp:send(Sock, Hello); + logout -> io:format("Logout~n", []), {ok, Bye} = acse:release(), - gen_tcp:send(Sock, Bye), - loop(Sock); - {ext} -> + gen_tcp:send(Sock, Bye); + ext -> io:format("Request Ext lines~n", []), {ok, Rq} = rose:invoke({present, 2}, {local, 51}, csta:ext_lines()), io:format("Send: ~p~n", [Rq]), - gen_tcp:send(Sock, Rq), - loop(Sock); - {co} -> + gen_tcp:send(Sock, Rq); + co -> io:format("Request CO lines~n", []), {ok, Rq} = rose:invoke({present, 2}, {local, 51}, csta:co_lines()), io:format("Send: ~p~n", [Rq]), - gen_tcp:send(Sock, Rq), - loop(Sock); - {tcp, Sock, Msg} -> - io:format("Reply ~p~n", [Msg]), - case decode(Sock, Msg) of - ok -> loop(Sock); - error -> gen_tcp:close(Sock), - error + gen_tcp:send(Sock, Rq); + {tcp, Sock, Data} -> + io:format("Got ~p~n", [Data]), + case decode(Data) of + ok -> + ok; + {ok, Reply} -> + io:format("Reply ~p~n", [Reply]), + gen_tcp:send(Sock, Reply); + error -> + exit(error) end; {tcp_closed, _} -> io:format("Connection closed~n", []), - closed + exit(closed) after ?TIMEOUT -> - gen_tcp:close(Sock), - timeout - end. + exit(timeout) + end, + loop(Sock). -decode(Sock, Msg) -> - case dispatch(Msg) of +decode(Data) -> + case dispatch(Data) of rose -> - {ok, Rose} = rose:decode(Msg), + {ok, Rose} = rose:decode(Data), io:format("ROSE> ~p~n", [Rose]), case rose:dispatch(Rose) of {ok, Result} -> - gen_tcp:send(Sock, Result); - {result, Msg} -> - io:format("Result: ~p~n", [Msg]), + {ok, Result}; + {result, Data} -> + io:format("Result: ~p~n", [Data]), ok; - {ok} -> ok + {ok} -> + ok end; acse -> - {ok, Acse} = acse:decode(Msg), + {ok, Acse} = acse:decode(Data), io:format("ACSE> ~p~n", [Acse]), acse:accepted(Acse) end. -- cgit v1.2.3