Skip to main content

RuntimePackages

Trait RuntimePackages 

Source
pub trait RuntimePackages:
    Debug
    + Send
    + Sync {
    // Required methods
    fn materialize<'life0, 'life1, 'async_trait>(
        &'life0 self,
        attempt: &'life1 RunnerAttempt,
    ) -> Pin<Box<dyn Future<Output = Result<RunnerVersion, FailureReason>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn release(&self, attempt: AttemptId) -> Result<(), FailureReason>;
    fn prune_obsolete_guarded(
        &self,
        authority: PruneAuthority<'_>,
        current: &RunnerVersion,
        attempts: &[RunnerAttempt],
    ) -> Result<(), FailureReason>;
}
Expand description

Package/cache operations used by one attempt.

Required Methods§

Source

fn materialize<'life0, 'life1, 'async_trait>( &'life0 self, attempt: &'life1 RunnerAttempt, ) -> Pin<Box<dyn Future<Output = Result<RunnerVersion, FailureReason>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn release(&self, attempt: AttemptId) -> Result<(), FailureReason>

Source

fn prune_obsolete_guarded( &self, authority: PruneAuthority<'_>, current: &RunnerVersion, attempts: &[RunnerAttempt], ) -> Result<(), FailureReason>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§