anchor.diff:          , restore_chunked/3
           , del_dirtree/1
           , snap_file_count/0
  +        , exclude_table_pattern/1
           ]).
   
   % gen_server callbacks
  
positive.code:     try
          ok = case SnapFun of
              undefined -> ok;
              SnapFun when is_function(SnapFun) -> SnapFun()
          end
      catch
          _:Err ->
  
negative.code:     {_, SnapDir} = application:get_env(imem, imem_snapshot_dir),
      length(filelib:wildcard("*.{bkp,zip}",SnapDir)).
  
  exclude_table_pattern(TablePattern) when is_binary(TablePattern) ->
      exclude_table_pattern(binary_to_list(TablePattern));
  exclude_table_pattern(TablePattern) when is_list(TablePattern) ->
      ExPatterns = ?GET_SNAPSHOT_EXCLUSION_PATTERNS,
      Remark = list_to_binary(["Added ", TablePattern, " at ", imem_datatype:timestamp_to_io(os:timestamp())]),
      ?PUT_SNAPSHOT_EXCLUSION_PATTERNS(lists:usort([TablePattern | ExPatterns]), Remark).
  
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  