From 39e62f3f8aeb2a5e2bc8cc2affed731d7df2e03f Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 30 Oct 2015 16:20:18 +0100 Subject: Catch errors --- src/acse.erl | 19 ++++++++++--------- src/tda.erl | 7 ++++++- 2 files changed, 16 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/acse.erl b/src/acse.erl index 90ec592..cb0af0e 100644 --- a/src/acse.erl +++ b/src/acse.erl @@ -6,23 +6,22 @@ -export([associate/0, release/0]). -export([decode/1, dispatch/1]). -ui() -> +associate() -> {ok, UI} = 'CSTA-application-context-information-csta3':encode( 'ACSEUserInformationForCSTA', {newDefinition, #'NewACSEUserInformationForCSTA'{cSTAVersion = [versionFive]}}), - {'single-ASN1-type', UI}. - -associate() -> 'ACSE-1':encode('ACSE-apdu', {aarq, #'AARQ-apdu'{ 'protocol-version' = [version1], % required 'application-context-name' = {1, 3, 12, 0, 218}, 'user-information' = [#'EXTERNAL'{ 'direct-reference' = {1, 3, 12, 0, 285, 200}, - encoding = ui()}]}}). + encoding = {'single-ASN1-type', UI}}]}}). -release() -> 'ACSE-1':encode('ACSE-apdu', {rlrq, #'RLRQ-apdu'{}}). +release() -> + 'ACSE-1':encode('ACSE-apdu', {rlrq, #'RLRQ-apdu'{}}). -decode(Msg) -> 'ACSE-1':decode('ACSE-apdu', Msg). +decode(Msg) -> + 'ACSE-1':decode('ACSE-apdu', Msg). dispatch({aare, #'AARE-apdu'{result = Result}}) -> case Result of @@ -30,6 +29,8 @@ dispatch({aare, #'AARE-apdu'{result = Result}}) -> _ -> error end; -dispatch({rlre, _}) -> ok; +dispatch({rlre, _}) -> + ok; -dispatch({abrt, _}) -> error. +dispatch({abrt, _}) -> + error. diff --git a/src/tda.erl b/src/tda.erl index 7f3eba7..c151df7 100644 --- a/src/tda.erl +++ b/src/tda.erl @@ -67,7 +67,12 @@ decode(Data) -> acse -> {ok, Acse} = acse:decode(Data), io:format("ACSE> ~p~n", [Acse]), - acse:dispatch(Acse) + case acse:dispatch(Acse) of + error -> + stop(); + _ -> + ok + end end. dispatch(<>) -> -- cgit v1.2.3