summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rose.erl6
-rw-r--r--tda.erl7
2 files changed, 4 insertions, 9 deletions
diff --git a/rose.erl b/rose.erl
index 14af5d9..51a1ec9 100644
--- a/rose.erl
+++ b/rose.erl
@@ -10,9 +10,7 @@ encode(Id, Op, Msg) -> 'Remote-Operations-Generic-ROS-PDUs':encode('ROS',
{returnResult, #'ReturnResult'{invokeId = Id,
result = #'ReturnResult_result'{opcode = Op, result = Msg}}}).
-dispatch(#'Invoke'{invokeId = Id, opcode = Op}) ->
+dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op}}) ->
case Op of
- {local, 211} ->
- {ok, Status} = rose:encode(Id, Op, <<5,0>>),
- Status
+ {local, 211} -> encode(Id, Op, <<5,0>>)
end.
diff --git a/tda.erl b/tda.erl
index b2e7042..2a38d89 100644
--- a/tda.erl
+++ b/tda.erl
@@ -59,17 +59,14 @@ decode(Sock, Msg) ->
rose ->
{ok, Rose} = rose:decode(Msg),
io:format("ROSE> ~p~n", [Rose]),
- rose_handler(Sock, Rose);
+ {ok, Result} = rose:dispatch(Rose),
+ gen_tcp:send(Sock, Result);
acse ->
{ok, Acse} = acse:decode(Msg),
io:format("ACSE> ~p~n", [Acse]),
acse:accepted(Acse)
end.
-rose_handler(Sock, {invoke, Msg}) ->
- gen_tcp:send(Sock, rose:dispatch(Msg)),
- ok.
-
dispatch(<<Head:8,_/binary>>) ->
case Head of
96 -> acse;