summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rose.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/rose.erl b/rose.erl
index 65aa139..e2fb004 100644
--- a/rose.erl
+++ b/rose.erl
@@ -36,13 +36,20 @@ dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}) ->
error
end;
-dispatch({returnResult, #'ReturnResult'{result = Data}}) ->
+dispatch({returnResult, #'ReturnResult'{invokeId = Id, result = Data}}) ->
+ counter:set(Id),
dispatch(Data);
-dispatch({returnError, #'ReturnError'{errcode = Code, parameter = Par}}) ->
+dispatch({returnError, #'ReturnError'{invokeId = Id, errcode = Code, parameter = Par}}) ->
+ counter:set(Id),
io:format("Err: ~p ~p~n", [Code, Par]),
error;
+dispatch({reject, #'Reject'{invokeId = Id, problem = Problem}}) ->
+ counter:set(Id),
+ io:format("Problem: ~p~n", [Problem]),
+ error;
+
dispatch(#'ReturnResult_result'{opcode = Op, result = Data}) ->
case Op of
{local, 74} ->