anchor.diff:              Self = self(),
               spawn(fun() -> reconnect_loop(Self, State) end)
       end,
  -    {noreply, State#state{socket = undefined, queue = []}};
  +    {noreply, State#state{socket = undefined, pid_from = undefined}};
   
   handle_info({connection_ready, Socket}, #state{socket = undefined} = State) ->
       {noreply, State#state{socket = Socket}};
  
positive.code:         {ok, #state{socket = Socket} = State1} ->
              case gen_tcp:send(Socket, Req) of
                  ok ->
                      NewQueue = [From|State1#state.queue],
                      {noreply, State1#state{queue = NewQueue}};
                  {error, Reason} ->
                      {reply, {error, Reason}, State1}
              end;
  
negative.code: exec(Req, From, #state{socket = Socket} = State) ->
      case gen_tcp:send(Socket, Req) of
          ok ->
              {noreply, State#state{pid_from = From}};
          {error, Reason} ->
              {reply, {error, Reason}, State}
      end.
  