anchor.diff:                  batch=Batch,
                   batch_count=0,
                   batch_skips=0}.
  -
  -recalc(true, _Riak, _User, _Time) ->
  -    %% the user demanded recalculations
  -    true;
  -recalc(false, Riak, User, Time) ->
  -    {ok, Period} = riak_moss_storage:archive_period(),
  -    {Start, End} = rts:slice_containing(Time, Period),
  -    case riak_moss_storage:get_usage(Riak, User, Start, End) of
  -        {[], _} ->
  -            %% No samples were found for this time period (or all
  -            %% attempts ended in error); calculate
  -            true;
  -        _ ->
  -            %% A sample was found; do not recalc
  -            false
  -    end.
   
   %% @doc How many seconds have passed from `Time' to now.
   elapsed(Time) ->
  
positive.code: 
  %% @doc Read the storage schedule and go to idle.
  init([]) ->
      Schedule = read_storage_schedule(),
      SchedState = schedule_next(#state{schedule=Schedule},
                                 calendar:universal_time()),
      ok = rts:check_bucket_props(?STORAGE_BUCKET),
  
negative.code: 
  %% @doc Time is allowed as a `{Hour, Minute}' tuple, or as an `"HHMM"'
  %% string.  This function purposely fails (with function or case
  %% clause currently) to allow {@link read_gc_schedule1/0} to pick
  %% out the bad eggs.
  parse_time({Hour, Min}) when (Hour >= 0 andalso Hour =< 23),
                               (Min >= 0 andalso Min =< 59) ->
  