Add badtcp clause to handle gen_rpc (#2314)
This commit is contained in:
parent
901bbdedd6
commit
29f4faa7dd
|
@ -21,10 +21,30 @@
|
|||
-define(RPC, gen_rpc).
|
||||
|
||||
call(Node, Mod, Fun, Args) ->
|
||||
?RPC:call(Node, Mod, Fun, Args).
|
||||
filter_result(?RPC:call(Node, Mod, Fun, Args)).
|
||||
|
||||
multicall(Nodes, Mod, Fun, Args) ->
|
||||
?RPC:multicall(Nodes, Mod, Fun, Args).
|
||||
filter_results(?RPC:multicall(Nodes, Mod, Fun, Args)).
|
||||
|
||||
cast(Node, Mod, Fun, Args) ->
|
||||
?RPC:cast(Node, Mod, Fun, Args).
|
||||
filter_result(?RPC:cast(Node, Mod, Fun, Args)).
|
||||
|
||||
filter_result(Delivery) ->
|
||||
case Delivery of
|
||||
{badrpc, Reason} -> {badrpc, Reason};
|
||||
{badtcp, Reason} -> {badrpc, Reason};
|
||||
Delivery1 -> Delivery1
|
||||
end.
|
||||
|
||||
filter_results(Deliverys) ->
|
||||
filter_results(Deliverys, []).
|
||||
|
||||
filter_results([], Acc) ->
|
||||
Acc;
|
||||
filter_results([Delivery | WaitDelivery], Acc) ->
|
||||
case Delivery of
|
||||
{badrpc, Reason} -> [{badrpc, Reason} | Acc], filter_results(WaitDelivery, Acc);
|
||||
{badtcp, Reason} -> [{badrpc, Reason} | Acc], filter_results(WaitDelivery, Acc);
|
||||
Delivery1 -> [Delivery1 | Acc], filter_results(WaitDelivery, Acc)
|
||||
end.
|
||||
|
||||
|
|
Loading…
Reference in New Issue