gen_server:cast(Pid, {change_shaper, Shaper}).
reset_stream(Pid) ->
- gen_server:call(Pid, reset_stream).
+ do_call(Pid, reset_stream).
starttls(Pid, TLSSocket) ->
- gen_server:call(Pid, {starttls, TLSSocket}).
+ do_call(Pid, {starttls, TLSSocket}).
compress(Pid, ZlibSocket) ->
- gen_server:call(Pid, {compress, ZlibSocket}).
+ do_call(Pid, {compress, ZlibSocket}).
become_controller(Pid, C2SPid) ->
- gen_server:call(Pid, {become_controller, C2SPid}).
+ do_call(Pid, {become_controller, C2SPid}).
close(Pid) ->
gen_server:cast(Pid, close).
ok;
close_stream(XMLStreamState) ->
xml_stream:close(XMLStreamState).
+
+do_call(Pid, Msg) ->
+ case catch gen_server:call(Pid, Msg) of
+ {'EXIT', Why} ->
+ {error, Why};
+ Res ->
+ Res
+ end.