anchor.diff:  
   -export([start_link/2,
            start/2,
  +         is_connected/1,
            ping/1, ping/2,
            get_client_id/1, get_client_id/2,
            set_client_id/2, set_client_id/3,
  
positive.code: 
  bad_connect_test() ->
      %% Start with an unlikely port number
      {error, econnrefused} = start({127,0,0,1}, 65535).
  
  
  pb_socket_test_() ->
  
negative.code:                 false ->
                      {noreply, remove_queued_request(Ref, State)}
              end
      end;
  handle_info(reconnect, State) ->
      #state{address = Address, port = Port, connects = Connects} = State,
      case gen_tcp:connect(Address, Port,
                           [binary, {active, once}, {packet, 4}, {header, 1}]) of
          {ok, Sock} ->
              NewState = State#state{sock = Sock, connects = Connects+1, 
                                     reconnect_interval = ?FIRST_RECONNECT_INTERVAL},
              {noreply, dequeue_request(NewState)};
          {error, Reason} ->
              %% Update the failed count and reschedule a reconnection
              NewState = State#state{failed = orddict:update_counter(Reason, 1, State#state.failed)},
              {noreply, disconnect(NewState)}
      end;
  handle_info(_, State) ->
      {noreply, State}.
  