Skip to main content

WasmBuildInputSnapshot

Struct WasmBuildInputSnapshot 

Source
pub struct WasmBuildInputSnapshot<'guard> { /* private fields */ }
Expand description

Immutable prepared Cargo input resolution shared by concurrent readers.

Preparation resolves the complete declared specification set while the caller holds a genuine source write-exclusion guard. Reader batches may run concurrently through &self, but cannot introduce specifications that were not declared during preparation.

Implementations§

Source§

impl<'guard> WasmBuildInputSnapshot<'guard>

Source

pub fn prepare_assuming_sources_immutable<Guard: ?Sized>( _source_write_guard: &'guard Guard, specs: &[WasmBuildSpec], ) -> Result<Self, WasmBuildError>

Resolve and freeze the complete specification set under a source lease.

The guard must prevent mutation of every Cargo/rustc executable, manifest, configuration file, discovered source, declared additional input, and relevant environment value used by the supplied specifications. The type system cannot verify guard provenance.

§Errors

Returns specification, tool/metadata, filesystem or input-resolution errors.

Source

pub fn build_batch( &self, specs: &[LabeledWasmBuildSpec], config: WasmBuildBatchConfig, ) -> Result<WasmBuildBatchReport, WasmBuildBatchContractError>

Build one sequential collect-all batch from prepared inputs.

Separate calls may run concurrently. Every exact specification must have been supplied to Self::prepare_assuming_sources_immutable.

§Errors

Returns invalid labels, an invalidated lease or an unprepared specification error before work. Individual build failures are retained in the report.

Source

pub fn build_batch_with_progress<F>( &self, specs: &[LabeledWasmBuildSpec], batch_config: WasmBuildBatchConfig, progress_config: WasmBuildProgressConfig, observer: F, ) -> Result<WasmBuildBatchReport, WasmBuildBatchContractError>

Build one observed sequential batch from prepared inputs.

Separate calls may run concurrently and use independent observers.

§Errors

Returns invalid labels, an invalidated lease or an unprepared specification error before work. Individual build failures are retained in the report.

Source

pub fn metrics(&self) -> WasmBuildInputSnapshotMetrics

Current preparation, reader-reuse, and invalidation metrics.

Auto Trait Implementations§

§

impl<'guard> !Freeze for WasmBuildInputSnapshot<'guard>

§

impl<'guard> RefUnwindSafe for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Send for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Sync for WasmBuildInputSnapshot<'guard>

§

impl<'guard> Unpin for WasmBuildInputSnapshot<'guard>

§

impl<'guard> UnsafeUnpin for WasmBuildInputSnapshot<'guard>

§

impl<'guard> UnwindSafe for WasmBuildInputSnapshot<'guard>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.