summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-10-29 12:31:14 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-10-29 12:31:14 +0100
commit515371ecf04c1fd274c6ea6d8f1d60fbefc4587f (patch)
tree73a3c4326e86cf2340a512b065d4bea4346e7435
parentc5b5e7d8d81c210787a378c7c2d7e30db0305c0b (diff)
Add reject and counter:set
-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} ->