pub struct Sandbox { /* private fields */ }Expand description
Sandbox for isolated rule execution
Implementations§
Source§impl Sandbox
impl Sandbox
Sourcepub fn new(config: SandboxConfig) -> Self
pub fn new(config: SandboxConfig) -> Self
Create a new sandbox
Sourcepub fn check_time(&mut self) -> Result<bool>
pub fn check_time(&mut self) -> Result<bool>
Check if execution is within time limit
Sourcepub fn check_memory(&mut self, bytes: usize) -> Result<bool>
pub fn check_memory(&mut self, bytes: usize) -> Result<bool>
Check if memory allocation is allowed
Sourcepub fn check_read(&mut self, path: &Path) -> bool
pub fn check_read(&mut self, path: &Path) -> bool
Check if file read is allowed
Sourcepub fn check_write(&mut self, path: &Path) -> bool
pub fn check_write(&mut self, path: &Path) -> bool
Check if file write is allowed
Sourcepub fn check_network(&mut self) -> bool
pub fn check_network(&mut self) -> bool
Check if network access is allowed
Sourcepub fn check_spawn(&mut self) -> bool
pub fn check_spawn(&mut self) -> bool
Check if process spawning is allowed
Sourcepub fn violations(&self) -> &[SandboxViolation]
pub fn violations(&self) -> &[SandboxViolation]
Get all violations
Sourcepub fn has_violations(&self) -> bool
pub fn has_violations(&self) -> bool
Check if any violations occurred
Sourcepub fn memory_used(&self) -> usize
pub fn memory_used(&self) -> usize
Get memory used
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Sandbox
impl RefUnwindSafe for Sandbox
impl Send for Sandbox
impl Sync for Sandbox
impl Unpin for Sandbox
impl UnsafeUnpin for Sandbox
impl UnwindSafe for Sandbox
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.