anchor.diff:      gen_tcp:close(Sock),
       {noreply, State}.
   
  +%% TODO match sock
   handle_info({Closed, _Sock}, State)
     when Closed == tcp_closed; Closed == ssl_closed ->
       {stop, sock_closed, State};
  
positive.code: 
  -behavior(gen_server).
  
  -export([start_link/4, cancel/3]).
  -export([decode_string/1, lower_atom/1]).
  
  -export([handle_call/3, handle_cast/2, handle_info/2]).
  -export([init/1, code_change/3, terminate/2]).
  
negative.code: -include("pgsql.hrl").
  -include("pgsql_binary.hrl").
  
  -record(state, {mod, sock, tail, backend, on_message, ready, timeout}).
  
  %% -- client interface --
  
  