pub struct ProviderJail { /* private fields */ }Expand description
The provider jail’s measured parameters: the executable closures the pinned components load from, the service namespace their runtime registers under, and the temp-directory variable it reads.
All three are deployment data, so none is a literal in this crate. The fields are private and the only constructor validates: the closures must not be shared roots, the namespace must fit the one closed grammar the profile accepts, and the variable must be a bounded identifier. A caller inside or outside the crate cannot hand the renderer a value the configuration layer would have refused, so the render boundary and the configuration boundary enforce the same shapes.
Implementations§
Source§impl ProviderJail
impl ProviderJail
Sourcepub fn new(
closures: Vec<PathBuf>,
service_prefix: Option<String>,
temp_env: Option<String>,
) -> Result<ProviderJail, RunnerError>
pub fn new( closures: Vec<PathBuf>, service_prefix: Option<String>, temp_env: Option<String>, ) -> Result<ProviderJail, RunnerError>
Validates and builds the parameters. Every refusal is
sandbox_unavailable, because a jail that cannot be rendered
as measured is a jail that must not run.
Sourcepub fn service_prefix(&self) -> Option<&str>
pub fn service_prefix(&self) -> Option<&str>
The service namespace, when the runtime registers any.
Trait Implementations§
Source§impl Clone for ProviderJail
impl Clone for ProviderJail
Source§impl Debug for ProviderJail
impl Debug for ProviderJail
Source§impl Default for ProviderJail
impl Default for ProviderJail
impl Eq for ProviderJail
Source§impl PartialEq for ProviderJail
impl PartialEq for ProviderJail
impl StructuralPartialEq for ProviderJail
Auto Trait Implementations§
impl Freeze for ProviderJail
impl RefUnwindSafe for ProviderJail
impl Send for ProviderJail
impl Sync for ProviderJail
impl Unpin for ProviderJail
impl UnsafeUnpin for ProviderJail
impl UnwindSafe for ProviderJail
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<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