Skip to main content

WasmBuildSession

Struct WasmBuildSession 

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

Explicit cross-call input snapshot scoped to a caller-held source lease.

The session contains no global state. It may reuse successful Cargo/rustc identity, metadata, input-discovery, and content-digest work while the caller keeps the supplied write-exclusion guard alive and unchanged.

Implementations§

Source§

impl<'guard> WasmBuildSession<'guard>

Source

pub fn assume_sources_immutable<Guard: ?Sized>( _source_write_guard: &'guard Guard, ) -> Self

Assert source immutability and bind reuse to the supplied guard’s lifetime.

The guard must prevent mutation of every Cargo/rustc executable, manifest, configuration file, discovered source, declared additional input, and relevant environment value used by every specification sent through this session. The guard must remain held until the session is dropped. This method cannot verify the guard’s provenance; supplying an unrelated value can permit stale cache reuse.

Source

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

Build one sequential collect-all batch using retained immutable inputs.

§Errors

Returns invalid labels or an invalidated source-lease error before work. Individual build failures are retained in the returned report.

Source

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

Build one observed sequential batch using retained immutable inputs.

§Errors

Returns invalid labels or an invalidated source-lease error before work. Individual build failures are retained in the returned report.

Source

pub const fn metrics(&self) -> WasmBuildSessionMetrics

Current retained snapshot, reuse, and invalidation counters.

Auto Trait Implementations§

§

impl<'guard> Freeze for WasmBuildSession<'guard>

§

impl<'guard> RefUnwindSafe for WasmBuildSession<'guard>

§

impl<'guard> Send for WasmBuildSession<'guard>

§

impl<'guard> Sync for WasmBuildSession<'guard>

§

impl<'guard> Unpin for WasmBuildSession<'guard>

§

impl<'guard> UnsafeUnpin for WasmBuildSession<'guard>

§

impl<'guard> UnwindSafe for WasmBuildSession<'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.