pub struct SealedPluginWorkspaceIoBatch { /* private fields */ }Expand description
Workspace I/O from a guest update that reached the successful-return boundary.
Implementations§
Source§impl SealedPluginWorkspaceIoBatch
impl SealedPluginWorkspaceIoBatch
Sourcepub const fn identity_proof(&self) -> &PluginIdentity
pub const fn identity_proof(&self) -> &PluginIdentity
Returns the identity proof retained across the successful-return boundary.
Sourcepub const fn request_count(&self) -> usize
pub const fn request_count(&self) -> usize
Returns the request count.
Sourcepub const fn is_empty(&self) -> bool
pub const fn is_empty(&self) -> bool
Returns whether this sealed batch carries no filesystem-policy work.
Sourcepub fn enqueue(
self,
queue: &mut PluginWorkspaceIoWorkerQueue,
) -> Result<(), PluginWorkspaceIoWorkerEnqueueError>
pub fn enqueue( self, queue: &mut PluginWorkspaceIoWorkerQueue, ) -> Result<(), PluginWorkspaceIoWorkerEnqueueError>
Enqueues sealed workspace I/O for host-owned filesystem-policy execution.
Failed admission returns the still-sealed batch so callers can retry or explicitly discard it without losing successful-return work as a side effect of queue saturation.
§Errors
Returns PluginWorkspaceIoWorkerEnqueueError when the worker queue rejects admission.
Sourcepub fn discard(self) -> PluginWorkspaceIoDiscardReport
pub fn discard(self) -> PluginWorkspaceIoDiscardReport
Discards sealed workspace I/O that will not be retried before filesystem policy execution.
Sourcepub fn execute_synchronous(
self,
filesystem: &FilesystemConfig,
) -> PluginWorkspaceIoReport
pub fn execute_synchronous( self, filesystem: &FilesystemConfig, ) -> PluginWorkspaceIoReport
Executes sealed workspace I/O synchronously through fs_utils.
This is the v1 stepping stone before an async worker exists. It preserves the observable async contract by keeping requests discardable until successful guest return and by routing all filesystem access through policy tokens.
Trait Implementations§
Source§impl Debug for SealedPluginWorkspaceIoBatch
impl Debug for SealedPluginWorkspaceIoBatch
Source§impl PartialEq for SealedPluginWorkspaceIoBatch
impl PartialEq for SealedPluginWorkspaceIoBatch
Source§fn eq(&self, other: &SealedPluginWorkspaceIoBatch) -> bool
fn eq(&self, other: &SealedPluginWorkspaceIoBatch) -> bool
self and other values to be equal, and is used by ==.impl Eq for SealedPluginWorkspaceIoBatch
impl StructuralPartialEq for SealedPluginWorkspaceIoBatch
Auto Trait Implementations§
impl Freeze for SealedPluginWorkspaceIoBatch
impl RefUnwindSafe for SealedPluginWorkspaceIoBatch
impl Send for SealedPluginWorkspaceIoBatch
impl Sync for SealedPluginWorkspaceIoBatch
impl Unpin for SealedPluginWorkspaceIoBatch
impl UnsafeUnpin for SealedPluginWorkspaceIoBatch
impl UnwindSafe for SealedPluginWorkspaceIoBatch
Blanket Implementations§
Source§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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>
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>
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