anchor.diff:  start_link() ->
       gen_server:start_link(?MODULE, [], []).
   
  -connect(C, From, Ref, Host, Username, Password, Opts) ->
  -    gen_server:cast(C, {connect, From, Ref, Host, Username, Password, Opts}).
  +connect(C, Host, Username, Password, Opts) ->
  +    cast(C, {connect, Host, Username, Password, Opts}).
   
   close(C) when is_pid(C) ->
       catch gen_server:cast(C, stop),
  
positive.code:     put(password, Password),
      {noreply,
       State2#state{handler = auth,
                    queue = queue:in({connect, From, Ref}, Queue),
                    async = Async}};
  
  handle_cast(stop, #state{queue = Queue} = State) ->
      %% TODO flush queue
      {stop, normal, State};
  
  handle_cast({parse, From, Ref, Name, Sql, Types}, State) ->
      #state{queue = Queue} = State,
      Bin = pgsql_wire:encode_types(Types),
      send(State, $P, [Name, 0, Sql, 0, Bin]),
      send(State, $D, [$S, Name, 0]),
      send(State, $H, []),
      S = #statement{name = Name},
      {noreply, State#state{queue = queue:in({parse, From, Ref}, Queue)}};
  
  handle_cast(cancel, State = #state{backend = {Pid, Key}}) ->
      {ok, {Addr, Port}} = inet:peername(State#state.sock),
  
negative.code:     end,
      {reply, {ok, Value}, State}.
  
  handle_cast(Req = {{_, _}, {connect, Host, Username, Password, Opts}},
              #state{queue = Queue} = State) ->
      Timeout = proplists:get_value(timeout, Opts, 5000),
      Port = proplists:get_value(port, Opts, 5432),
  