anchor.diff:  	Buffer = <<(State#state.buffer)/binary, Data/binary>>,
   	{Responses, Pending} = decode_responses(Buffer),
   	{noreply, State#state{
  -		requests = process_responses(Responses, State#state.requests),
  +		requests = case process_responses(Responses, State#state.requests) of
  +			[] ->
  +				[];
  +			Requests ->
  +				inet:setopts(State#state.socket, [{active, once}]),
  +				Requests
  +		end,
   		buffer = Pending
   	}};
   
  
positive.code: 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
  		{ok, Socket} ->
  			{ok, #state{socket = Socket, requests = [], buffer = <<>>}};
  		{error, Reason} ->
  
negative.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) ->
  			inet:setopts(State#state.socket, [{active, once}]),
  			{noreply, State#state{requests = [{Id, From} | State#state.requests]}};
  		ok ->
  			{reply, ok, State};
  