anchor.diff:  %%% Helpers
   %%%===================================================================
   send(#transport{socket = {Host, Port, Path}} = Transport, Body,
  -     #state{requests = Requests} = State) ->
  +     #state{requests = Requests} = S) ->
       Headers = [{"Content-Type", "text/xml; charset=utf-8"}],
  +    Ref = make_ref(),
       Self = self(),
       AsyncReq = fun() ->
  -        {ok, Reply} =
  -            lhttpc:request(Host, Port, false, Path, 'POST',
  -                Headers, exml:to_iolist(Body), infinity, []),
  -        Self ! {http_reply, Reply, Transport}
  +            {ok, Reply} = lhttpc:request(Host, Port, false, Path, 'POST',
  +                                         Headers, exml:to_iolist(Body),
  +                                         infinity, []),
  +            Self ! {http_reply, Ref, Reply, Transport}
       end,
  -    proc_lib:spawn_link(AsyncReq),
  -    State#state{rid = State#state.rid+1,
  -                requests = Requests + 1}.
  +    NewRequests = [{Ref, proc_lib:spawn_link(AsyncReq)} | Requests],
  +    S#state{rid = S#state.rid+1, requests = NewRequests}.
   
   send0(Transport, Elem, State) ->
       send(Transport, wrap_elem(Elem, State), State).
  
positive.code:          pause/2,
           get_active/1,
           set_active/2,
           recv/1]).
  
  -define(WAIT_FOR_SOCKET_CLOSE_TIMEOUT, 200).
  -define(SERVER, ?MODULE).
  
negative.code: recv(#transport{rcv_pid = Pid}) ->
      gen_server:call(Pid, recv).
  
  get_requests(#transport{rcv_pid = Pid}) ->
      gen_server:call(Pid, get_requests).
  
  %%%===================================================================
  %%% gen_server callbacks
  %%%===================================================================
  