anchor.diff:      gen_server:reply(From, Reply),
       {noreply, S#state{backup = undefined}};
   
  -handle_info(?CACHE_GC_TRIGGER, #state{cache         = Cache, 
  -				      cache_age     = Age, 
  -				      cache_gclimit = GcLimit, 
  -				      cache_autogc  = true} = S) 
  +handle_info(?CACHE_GC_TRIGGER, #state{cache           = Cache, 
  +				      cache_age       = Age, 
  +				      cache_gclimit   = GcLimit, 
  +				      cache_autogc    = true,
  +                                      cache_gcverbose = GcVerbose} = S) 
     when (Cache =/= ?NO_CACHE) ->
  -    ?vlog("cache gc trigger event", []),
  -    maybe_gc_cache(Cache, Age, GcLimit), 
  +    gcvprint(GcVerbose, "GC: begin"),
  +    case maybe_gc_cache(Cache, Age, GcLimit) of
  +        {ok, NumDeleted} = Result when (NumDeleted > 0) ->
  +            gcvprint(GcVerbose,
  +                     "GC: ~w elements deleted from cache", [NumDeleted]),
  +            maybe_send_gc_result(S, Result);
  +        _ ->
  +            ok
  +    end,
       Tmr = start_cache_gc_timer(),
       {noreply, S#state{cache_tmr = Tmr}};
   
  
positive.code: 	 which_cache_size/1
  	]).
  
  %% <BACKWARD-COMPAT>
  -export([load_mibs/2, unload_mibs/2]).
  %% </BACKWARD-COMPAT>
  
  %% Internal exports
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2,
  	 code_change/3]).
  
  -include_lib("kernel/include/file.hrl").
  -include("snmpa_internal.hrl").
  
negative.code: 
  %% ----------------------------------------------------------------
  
  gcvprint(GcVerbose, F) ->
      gcvprint(GcVerbose, F, []).
  
  gcvprint(true, F, A) ->
      ?vinfo(F, A);
  gcvprint(_, _, _) ->
      ok.
  
  maybe_gc_cache(?NO_CACHE, _Age) ->
      ?vtrace("cache not enabled", []),
      ok;
  maybe_gc_cache(Cache, Age) ->
      MatchSpec  = gc_cache_matchspec_del(Age),
      NumDeleted = ets:select_delete(Cache, MatchSpec),
      {ok, NumDeleted}.
  
  maybe_gc_cache(?NO_CACHE, _Age, _GcLimit) ->
      ok;
  maybe_gc_cache(Cache, Age, infinity = _GcLimit) ->
      maybe_gc_cache(Cache, Age);
  maybe_gc_cache(Cache, Age, GcLimit) ->
      MatchSpec = gc_cache_matchspec_key(Age), 
      Keys = 
  	case ets:select(Cache, MatchSpec, GcLimit) of
  	    {Match, _Cont} ->
  