#[shared_macros::constants] mod consts { /// Full object storage pool directory pub const DIR_BUCKET_OBJ: &str = "./objects/"; /// Full compressed object storage pool directory pub const DIR_BUCKET_COMPRESSED_OBJ: &str = "./compressed-objects/"; /// Incremental object fragment storage pool directory pub const DIR_BUCKET_DELTA: &str = "./delta-objects/"; /// Version information storage directory pub const DIR_BUCKET_ID_REVS: &str = "./revs/"; /// Tag storage directory, used to record tags for easy file location pub const DIR_BUCKET_ID_TAGS: &str = "./tags/"; /// Full object file path template pub const FILE_BUCKET_OBJ: &str = "./objects/{slice1}/{slice2}/{fullname}"; /// Full compressed object file path template pub const FILE_BUCKET_COMPRESSED_OBJ: &str = "./compressed-objects/{slice1}/{slice2}/{fullname}"; /// Incremental object file path template (records change info between the previous delta and the current delta) pub const FILE_BUCKET_DELTA: &str = "./delta-objects/{slice1}/{slice2}/{fullname}"; /// Version information file, records the storage mode, pointed object, and its log offset for all versions of a given file ID (append-only) pub const FILE_BUCKET_ID_REV: &str = "./revs/{file_id}.v"; /// Version log file, records all operation logs for a given file ID (append-only) pub const FILE_BUCKET_ID_REV_LOG: &str = "./revs/{file_id}.log"; /// Tag file, internally points to a file_id pub const FILE_BUCKET_ID_TAG: &str = "./tags/{tag_name}"; } pub use consts::*;