pub struct NativeGitStorage;Expand description
Git-native session storage using gix.
Stores session data (HAIL JSONL + metadata JSON) as blobs on an orphan
branch (opensession/sessions) without touching the working directory.
Implementations§
Source§impl NativeGitStorage
impl NativeGitStorage
Sourcepub fn store(
&self,
repo_path: &Path,
session_id: &str,
hail_jsonl: &[u8],
meta_json: &[u8],
) -> Result<String>
pub fn store( &self, repo_path: &Path, session_id: &str, hail_jsonl: &[u8], meta_json: &[u8], ) -> Result<String>
Store a session in the git repository at repo_path.
Creates the orphan branch if it doesn’t exist, then adds/updates blobs
for the HAIL JSONL and metadata JSON under v1/<prefix>/<id>.*.
Returns the relative path within the branch (e.g. v1/ab/abcdef.hail.jsonl).
Sourcepub fn prune_by_age(
&self,
repo_path: &Path,
keep_days: u32,
) -> Result<PruneStats>
pub fn prune_by_age( &self, repo_path: &Path, keep_days: u32, ) -> Result<PruneStats>
Prune expired sessions from the sessions branch by age (days).
This rewrites opensession/sessions to a new orphan commit containing
only currently retained paths.
Auto Trait Implementations§
impl Freeze for NativeGitStorage
impl RefUnwindSafe for NativeGitStorage
impl Send for NativeGitStorage
impl Sync for NativeGitStorage
impl Unpin for NativeGitStorage
impl UnsafeUnpin for NativeGitStorage
impl UnwindSafe for NativeGitStorage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more