pub struct WindowsWhpxOciBundleProvider { /* private fields */ }Expand description
Qualification-only producer for OCI Runtime’s Windows dedicated-VM service.
Implementations§
Source§impl WindowsWhpxOciBundleProvider
impl WindowsWhpxOciBundleProvider
pub fn new( home_dir: impl Into<PathBuf>, runtime_root: impl Into<PathBuf>, ) -> Self
pub fn runtime_root(&self) -> &Path
pub fn with_pull_progress_fn(self, pull_progress_fn: PullProgressFn) -> Self
Trait Implementations§
Source§impl Clone for WindowsWhpxOciBundleProvider
impl Clone for WindowsWhpxOciBundleProvider
Source§fn clone(&self) -> WindowsWhpxOciBundleProvider
fn clone(&self) -> WindowsWhpxOciBundleProvider
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl OciBundleProvider for WindowsWhpxOciBundleProvider
impl OciBundleProvider for WindowsWhpxOciBundleProvider
Source§fn preflight(
&self,
record: &BoxRecord,
context: &OciBundlePreparationContext,
) -> ExecutionManagerResult<()>
fn preflight( &self, record: &BoxRecord, context: &OciBundlePreparationContext, ) -> ExecutionManagerResult<()>
Reject a runtime/provider mismatch before product or runtime mutation.
Source§fn prepare<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
context: &'life2 OciBundlePreparationContext,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<OciPreparedExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn prepare<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
context: &'life2 OciBundlePreparationContext,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<OciPreparedExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Prepare one immutable OCI bundle after runtime capability preflight.
Source§fn cleanup<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn cleanup<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove only Box-owned preparation artifacts after runtime cleanup.
Source§fn ensure_log_projection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn ensure_log_projection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Ensure the Box-owned init-output projection is ready before OCI start.
Test and embedding providers may retain raw runtime output only.
Source§fn wait_log_projection_drained<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn wait_log_projection_drained<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Wait until the exact init stdout/stderr streams have reached EOF and
Box’s configured log driver has consumed them.
Source§fn wait_log_projection_stopped_after_owner_loss<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn wait_log_projection_stopped_after_owner_loss<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
record: &'life1 BoxRecord,
binding: &'life2 OciRuntimeBinding,
) -> Pin<Box<dyn Future<Output = ExecutionManagerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Wait until the exact projection worker has stopped after the runtime
owner was lost. This path must not claim that output was fully drained:
owner-death recovery deliberately preserves an unknown exit status and
may also have lost the tail of the init output stream.
Auto Trait Implementations§
impl !RefUnwindSafe for WindowsWhpxOciBundleProvider
impl !UnwindSafe for WindowsWhpxOciBundleProvider
impl Freeze for WindowsWhpxOciBundleProvider
impl Send for WindowsWhpxOciBundleProvider
impl Sync for WindowsWhpxOciBundleProvider
impl Unpin for WindowsWhpxOciBundleProvider
impl UnsafeUnpin for WindowsWhpxOciBundleProvider
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
Converts
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> ⓘ
Converts
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 more