diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-18 20:56:05 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-18 20:56:05 +0800 |
| commit | 68daa10abfe3015beca966825d32cf67c9f5d5d7 (patch) | |
| tree | c28f0470240e7cdc3748cee57ef74353514c47b7 /rola-utils/constants/src | |
| parent | 669898193bebeadc975881bee496fe0239df76a0 (diff) | |
feat(bucket): implement bucket initialization and logging infrastructure
Add bucket init logic with directory structure creation and log macros
for tracing
Diffstat (limited to 'rola-utils/constants/src')
| -rw-r--r-- | rola-utils/constants/src/bucket.rs | 38 | ||||
| -rw-r--r-- | rola-utils/constants/src/common.rs | 5 | ||||
| -rw-r--r-- | rola-utils/constants/src/lib.rs | 2 |
3 files changed, 44 insertions, 1 deletions
diff --git a/rola-utils/constants/src/bucket.rs b/rola-utils/constants/src/bucket.rs new file mode 100644 index 0000000..e2ebff2 --- /dev/null +++ b/rola-utils/constants/src/bucket.rs @@ -0,0 +1,38 @@ +#[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::*; diff --git a/rola-utils/constants/src/common.rs b/rola-utils/constants/src/common.rs index 6ce6bd8..8b333e7 100644 --- a/rola-utils/constants/src/common.rs +++ b/rola-utils/constants/src/common.rs @@ -1,7 +1,10 @@ #[shared_macros::constants] mod consts { /// Directory name for Rorolala metadata storage in Workdraft - pub const DRAFT_META_DIR: &str = ".rola"; + pub const DIR_DRAFT_META: &str = ".rola"; + + /// Configuration file indicating the root directory of a bucket + pub const FILE_BUCKET_ROOT_CONFIG: &str = "bucket.toml"; } pub use consts::*; diff --git a/rola-utils/constants/src/lib.rs b/rola-utils/constants/src/lib.rs index 566440d..ab8bd4a 100644 --- a/rola-utils/constants/src/lib.rs +++ b/rola-utils/constants/src/lib.rs @@ -3,3 +3,5 @@ //! This module records all constant information for Rorolala pub mod common; + +pub mod bucket; |
