pub enum StorageEngine {
Bundle,
Packchain,
}Expand description
Identifies the on-bucket storage format / serialisation engine.
engine is a bucket-level property: once written to the FORMAT key on
the first push, it is validated on every subsequent connect. The
?engine= URL parameter is advisory — it is only meaningful when
initialising a new repository. After the first push the stored value is
authoritative and the URL parameter is checked for conflicts.
Variants§
Bundle
Git bundle v2 — a text header followed by a PACK file.
Key layout: <prefix>/refs/heads/<branch>/<sha>.bundle.
Packchain
Incremental pack-chain engine (issue #52).
On-bucket layout: chain.json (newest-first manifest) plus
path-index.json per ref, with content-addressed packs at
<prefix>/packs/<sha>.{pack,idx} and a baseline bundle for
first-push fan-out. Push, fetch, direct file access (read_blob
library API), compaction, and GC are all implemented; see
src/packchain/{push,fetch,read,compact,gc}.rs.
Implementations§
Trait Implementations§
Source§impl Clone for StorageEngine
impl Clone for StorageEngine
Source§fn clone(&self) -> StorageEngine
fn clone(&self) -> StorageEngine
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for StorageEngine
Source§impl Debug for StorageEngine
impl Debug for StorageEngine
Source§impl Display for StorageEngine
impl Display for StorageEngine
impl Eq for StorageEngine
Source§impl PartialEq for StorageEngine
impl PartialEq for StorageEngine
Source§fn eq(&self, other: &StorageEngine) -> bool
fn eq(&self, other: &StorageEngine) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for StorageEngine
Auto Trait Implementations§
impl Freeze for StorageEngine
impl RefUnwindSafe for StorageEngine
impl Send for StorageEngine
impl Sync for StorageEngine
impl Unpin for StorageEngine
impl UnsafeUnpin for StorageEngine
impl UnwindSafe for StorageEngine
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.