anchor.diff:  init([{Host, Port}, Options]) ->
   	Timeout = proplists:get_value(timeout, Options, infinity),
   	_SSL = proplists:get_bool(ssl, Options),
  -	case gen_tcp:connect(Host, Port, [binary, {active, true}, {packet, 0}, {nodelay, true}], Timeout) of
  +	case gen_tcp:connect(Host, Port, [binary, {active, false}, {packet, raw}], Timeout) of
   		{ok, Socket} ->
   			{ok, #state{socket = Socket, requests = [], buffer = <<>>}};
   		{error, Reason} ->
  
positive.code: 	{Packet, Id} = encode_request(Database, Request),
  	case gen_tcp:send(State#state.socket, Packet) of
  		ok when is_record(Request, 'query'); is_record(Request, getmore) ->
  			{noreply, State#state{requests = [{Id, From} | State#state.requests]}};
  		ok ->
  			{reply, ok, State};
  
negative.code: 	Buffer = <<(State#state.buffer)/binary, Data/binary>>,
  	{Responses, Pending} = decode_responses(Buffer),
  	{noreply, State#state{
  		requests = case process_responses(Responses, State#state.requests) of
  			[] ->
  				[];
  			Requests ->
  				inet:setopts(State#state.socket, [{active, once}]),
  				Requests
  		end,
  		buffer = Pending
  	}};
  
  