From fc86381ccac10fa30aefe76996a716ae1d677f5b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 29 Oct 2015 14:00:41 +0100 Subject: Prepare for rebar --- tda.erl | 89 ----------------------------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 tda.erl (limited to 'tda.erl') diff --git a/tda.erl b/tda.erl deleted file mode 100644 index 0798365..0000000 --- a/tda.erl +++ /dev/null @@ -1,89 +0,0 @@ --module(tda). - --export([start/0, client/1, stop/0]). --export([ext/0, co/0, snapshot/1]). - --define(TIMEOUT, 300000). --define(CONNECT_TIMEOUT, 3000). --define(HOST, "192.168.240.20"). --define(PORT, 33333). - -start() -> - register(tdaPid, spawn(?MODULE, client, [{dial, ?HOST, ?PORT}])). - -stop() -> - counter:stop(), - tdaPid ! acse:release(). - -ext() -> - tdaPid ! rose:invoke({local, 51}, csta:lines(ext)). - -co() -> - tdaPid ! rose:invoke({local, 51}, csta:lines(co)). - -snapshot(Device) -> - tdaPid ! rose:invoke({local, 74}, csta:snapshot(Device)). - -client({dial, Host, Port}) -> - io:format("Dial ~p:~p~n", [Host, Port]), - Conn = gen_tcp:connect(Host, Port, - [binary, {active, once}, {packet, 2}], - ?CONNECT_TIMEOUT), - counter:start(), - client(Conn); - -client({ok, Sock}) -> - io:format("Connected~n", []), - tdaPid ! acse:associate(), - loop(Sock); - -client({error, Reason}) -> - io:format("Error: ~p~n", [Reason]), - {error, Reason}. - -loop(Sock) -> - inet:setopts(Sock, [{active, once}]), - receive - {ok, Reply} -> - %io:format("Send ~p~n", [Reply]), - gen_tcp:send(Sock, Reply); - {tcp, Sock, Data} -> - %io:format("Got ~p~n", [Data]), - case decode(Data) of - {ok, Reply} -> tdaPid ! {ok, Reply}; - ok -> ok; - error -> exit(error) - end; - {tcp_closed, _} -> - io:format("Connection closed~n", []), - exit(closed) - after ?TIMEOUT -> - io:format("Connection timed out~n", []), - exit(timeout) - end, - loop(Sock). - -decode(Data) -> - case dispatch(Data) of - rose -> - {ok, Rose} = rose:decode(Data), - io:format("ROSE> ~p~n", [Rose]), - rose:dispatch(Rose); - acse -> - {ok, Acse} = acse:decode(Data), - io:format("ACSE> ~p~n", [Acse]), - acse:dispatch(Acse) - end. - -dispatch(<>) -> - case Head of - 96 -> acse; % aarq - 97 -> acse; % aare - 98 -> acse; % rlrq - 99 -> acse; % rlre - 100 -> acse; % abrt - 161 -> rose; % invoke - 162 -> rose; % returnResult - 163 -> rose; % returnError - 164 -> rose % reject - end. -- cgit v1.2.3