anchor.diff:  
   %% Low level API
   -export([send_raw/2,
  +         resend_raw/2,
            get_sid/1,
            get_rid/1,
            get_keepalive/1,
  
positive.code:             Self ! {http_reply, Ref, Reply, Transport}
      end,
      NewRequests = [{Ref, proc_lib:spawn_link(AsyncReq)} | Requests],
      S#state{rid = S#state.rid+1, requests = NewRequests}.
  
  sync_send(Transport, Body, S=#state{}) ->
      {ok, Reply} = request(Transport, Body),
  
negative.code: send_raw(#transport{rcv_pid = Pid} = Transport, Body) ->
      gen_server:cast(Pid, {send_raw, Transport, Body}).
  
  %% This is much like send_raw/2 except for the fact that
  %% the request ID won't be autoincremented on send.
  %% I.e. it is intended for resending packets which were
  %% already sent.
  resend_raw(#transport{rcv_pid = Pid} = Transport, Body) ->
      gen_server:cast(Pid, {resend_raw, Transport, Body}).
  
  get_rid(#transport{rcv_pid = Pid}) ->
      gen_server:call(Pid, get_rid).
  
  