anchor.diff:      {ok, Parser} = exml_stream:new_parser(),
       {ok, #state{owner = Owner,
                   url = {HostStr, Port, binary_to_list(Path)},
  -                parser = Parser, rid = InitRid}}.
  +                parser = Parser,
  +                rid = InitRid,
  +                keepalive = proplists:get_value(keepalive, Args, true)}}.
   
   handle_call(get_transport, _From, State) ->
       {reply, transport(State), State};
  
positive.code: %% Low level API
  -export([send_raw/2,
           get_sid/1,
           get_rid/1]).
  
  -define(WAIT_FOR_SOCKET_CLOSE_TIMEOUT, 200).
  -define(SERVER, ?MODULE).
  
negative.code: get_sid(#transport{rcv_pid = Pid}) ->
      gen_server:call(Pid, get_sid).
  
  get_keepalive(#transport{rcv_pid = Pid}) ->
      gen_server:call(Pid, get_keepalive).
  
  set_keepalive(#transport{rcv_pid = Pid}, NewKeepalive) ->
      gen_server:call(Pid, {set_keepalive, NewKeepalive}).
  
  %%%===================================================================
  %%% gen_server callbacks
  %%%===================================================================
  