anchor.diff:  -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, 
       code_change/3]).
   
  --export([start/2, start_link/2, next/1, stop/1]).
  +-export([start/2, start_link/2, all/1, next/1, stop/1]).
   
   -define(MIN_BUFFER_SIZE, 100).
   
  
positive.code:     {ok, Pid} = ibrowse:spawn_link_worker_process(Url#url.host, Url#url.port),
      Opts = [
          {stream_to, {self(), once}},
          {inactivity_timeout, 30000}
      ],
      {ibrowse_req_id, Id} = 
          ibrowse:send_req_direct(Pid, RawUrl, [], get, [], Opts, infinity),
  
negative.code: start_link(Url, Options) ->
      gen_server:start_link(?MODULE, [Url, Options], []).
  
  %% @doc does not block
  all(Server) ->
      gen_server:call(Server, all_changes).
  
  %% @doc returns the next change from the feed, blocking if necessary
  next(Server) ->
      gen_server:call(Server, next_change, infinity).
  
  