52 lines
1.4 KiB
Crystal
52 lines
1.4 KiB
Crystal
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 DODB::FIFOSpecDataBase(V) < DODB::Storage::Stacked(V)
|
|
property storage_dir : String
|
|
def initialize(storage_ext = "", remove_previous_data = true)
|
|
@storage_dir = "specdb-storage-fifo#{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
|