pub struct SandboxConfig {
pub permissions: PermissionSet,
pub max_memory_mb: usize,
pub max_cpu_percent: u8,
pub timeout_ms: u64,
pub max_cpu_ns: u64,
}Expand description
Static configuration for a plugin sandbox.
Fields§
§permissions: PermissionSetWhich permissions the plugin is allowed to exercise.
max_memory_mb: usizeMaximum RSS memory the plugin may consume (MiB).
max_cpu_percent: u8Maximum CPU time as a percentage of one core (0–100).
timeout_ms: u64Wall-clock timeout for a single plugin operation (milliseconds).
max_cpu_ns: u64Maximum cumulative simulated CPU time (nanoseconds, 0 = unlimited).
When non-zero, calls to SandboxContext::charge_cpu_ns will fail
once this budget is exhausted.
Implementations§
Source§impl SandboxConfig
impl SandboxConfig
Sourcepub fn permissive() -> Self
pub fn permissive() -> Self
Create a fully permissive configuration (useful for testing).
Trait Implementations§
Source§impl Clone for SandboxConfig
impl Clone for SandboxConfig
Source§fn clone(&self) -> SandboxConfig
fn clone(&self) -> SandboxConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SandboxConfig
impl Debug for SandboxConfig
Auto Trait Implementations§
impl Freeze for SandboxConfig
impl RefUnwindSafe for SandboxConfig
impl Send for SandboxConfig
impl Sync for SandboxConfig
impl Unpin for SandboxConfig
impl UnsafeUnpin for SandboxConfig
impl UnwindSafe for SandboxConfig
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
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