anchor.diff:  %%
   %% Sometimes it's necessary to intercept the whole BOSH wrapper
   %% not only the wrapped stanzas. That's when this mechanism proves useful.
  +-spec get_active(escalus:client()) -> boolean().
   get_active(#client{rcv_pid = Pid}) ->
       gen_server:call(Pid, get_active).
   
  +-spec set_active(escalus:client(), boolean()) -> ok.
   set_active(#client{rcv_pid = Pid}, Active) ->
       gen_server:call(Pid, {set_active, Active}).
   
  
positive.code: recv(#client{rcv_pid = Pid}) ->
      gen_server:call(Pid, recv).
  
  get_requests(#client{rcv_pid = Pid}) ->
      gen_server:call(Pid, get_requests).
  
  %% This flag makes client to fail on stream error,
  %% even if it arrives out of order (according to RIDs)
  set_quickfail(#client{rcv_pid = Pid}, QuickfailFlag) ->
      gen_server:call(Pid, {set_quickfail, QuickfailFlag}).
  
  
negative.code: handle_info(_, State) ->
      {noreply, State}.
  
  -spec terminate(term(), state()) -> any().
  terminate(_Reason, #state{client = Client, parser = Parser}) ->
      fusco_cp:stop(Client),
      exml_stream:free_parser(Parser).
  
  -spec code_change(term(), state(), term()) -> {ok, state()}.
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  