class SPECDB::Uncached(V) < DODB::Storage::Basic(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "specdb-storage-uncached#{storage_ext}" ::FileUtils.rm_rf storage_dir if remove_previous_data super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end class SPECDB::Cached(V) < DODB::Storage::Cached(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "specdb-storage-cached#{storage_ext}" ::FileUtils.rm_rf storage_dir if remove_previous_data super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end class SPECDB::FIFO(V) < DODB::Storage::Stacked(V) property storage_dir : String def initialize(storage_ext = "", @max_entries = 100_000, remove_previous_data = true) @storage_dir = "specdb-storage-fifo-#{@max_entries}#{storage_ext}" ::FileUtils.rm_rf storage_dir if remove_previous_data super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end class SPECDB::RAMOnly(V) < DODB::Storage::RAMOnly(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "specdb-storage-ram#{storage_ext}" ::FileUtils.rm_rf storage_dir if remove_previous_data super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end