anchor.diff:  connect(State) when State#state.sock =:= undefined ->
       #state{address = Address, port = Port, connects = Connects} = State,
       case gen_tcp:connect(Address, Port,
  -                         [binary, {active, once}, {packet, 4}, {header, 1}]) of
  +                         [binary, {active, once}, {packet, 4}, {header, 1}],
  +                         State#state.connect_timeout) of
           {ok, Sock} ->
               {ok, State#state{sock = Sock, connects = Connects+1, 
                                reconnect_interval = ?FIRST_RECONNECT_INTERVAL}};
  
positive.code:                 queue,      % queue of pending requests
                  connects=0, % number of successful connects
                  failed=[],  % breakdown of failed connects
                  reconnect_interval=?FIRST_RECONNECT_INTERVAL}).
  -record(request, {ref :: reference(), msg :: rpb_req(), from, ctx :: ctx(), timeout :: integer(),
                    tref :: reference() | undefined }).
  
negative.code:         _ ->
              State
      end;
  parse_options([{connect_timeout, T}|Options], State) when is_integer(T) ->
      parse_options(Options, State#state{connect_timeout = T});
  parse_options([{queue_if_disconnected,Bool}|Options], State) when 
        Bool =:= true; Bool =:= false ->
      parse_options(Options, State#state{queue_if_disconnected = Bool});
  