anchor.diff:  ensure_ring(State) -> State.
   
   %% @private
  -terminate(_,#state{tref=TRef}) -> timer:cancel(TRef), ok.
  +terminate(_,_) -> ok.
   
   %% @private
   code_change(_OldVsn, State, _Extra) -> {ok, State}.
  
positive.code: 
  %% @private
  init(_) -> 
      {ok, TRef} = timer:send_interval(1000, timeout),
      {ok, #state{ops=dict:new(),ring=undefined, tref=TRef}}.
  
  handle_call(_,_,State) -> {reply,no_call_support,State}.
  
  handle_cast({OpType,Bucket,Key},State=#state{ops=Ops}) ->
      BucketFrag = list_to_binary(
                     [atom_to_list(Bucket),"-",
                      integer_to_list(erlang:phash2(Key) rem ?NFRAGS)]),
  
negative.code: -define(QSIZE, 1000).
  -define(NFRAGS, 1024).
  -define(FLUSH_INTERVAL, 1000).
  -record(state, {ops, ring, count=0}).
  
  % State.ops is a dict, keys are bucketname atoms, vals are lists of operations,
  % where operations are tuples of {Op::[add|del], riak_object:key()}
  