pub struct PackIngest { /* private fields */ }Expand description
The substrate’s GitPackIngest implement.
The construction is the composition entry’s (substrate.md §public
API — the receive-pack composition is internal to the trait impls,
not a public member; the pending-pin registry is shared with the
wrapped GitRefs implement the same entry wires — the w8
composition-entry task joins the names into the OQ-03 inventory).
The working-area root is the constructor knob.
Trait Implementations§
Source§impl GitPackIngest for PackIngest
impl GitPackIngest for PackIngest
Source§fn prepare<'life0, 'life1, 'async_trait>(
&'life0 self,
repo: &'life1 RepoRecord,
updates: Vec<RefUpdate>,
pack: Box<dyn Read + Send>,
_push_options: Option<PushOptions>,
limits: Limits,
) -> Pin<Box<dyn Future<Output = Result<PreparedPush, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn prepare<'life0, 'life1, 'async_trait>(
&'life0 self,
repo: &'life1 RepoRecord,
updates: Vec<RefUpdate>,
pack: Box<dyn Read + Send>,
_push_options: Option<PushOptions>,
limits: Limits,
) -> Pin<Box<dyn Future<Output = Result<PreparedPush, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Unpack + index + connectivity; validates and prepares the ref
updates, never applies them. Pack-level validation failures
land in PreparedPush::unpack’s ng leg — parse, budget, the
decompressed-size cap, thin-base and delta-base resolution,
connectivity; a backing-store corruption or a
working-area/task infrastructure failure is the
StorageError. updates returns verbatim on every path. The
successful legs retain the unpacked working set’s Batch
(the pack bridge’s custody) into the pending-pin registry,
content-correlated with the prepared list — the ref CAS’s
drain commits it after the CAS commits.