pub struct Sandbox {
pub max_memory_bytes: u64,
pub computation_timeout_ms: u64,
pub max_state_size_bytes: u64,
pub mode: SandboxMode,
pub permissions: Vec<String>,
}Expand description
Isolated execution environment with resource limits
Fields§
§max_memory_bytes: u64Maximum memory in bytes
computation_timeout_ms: u64Computation timeout in milliseconds
max_state_size_bytes: u64Maximum state size in bytes
mode: SandboxModeSandbox isolation mode
permissions: Vec<String>External permissions granted
Implementations§
Source§impl Sandbox
impl Sandbox
Sourcepub fn from_contract(contract: &Contract) -> Self
pub fn from_contract(contract: &Contract) -> Self
Create sandbox from contract execution constraints
Sourcepub fn check_memory(&self, state: &ExecutionState) -> Result<()>
pub fn check_memory(&self, state: &ExecutionState) -> Result<()>
Check if current state is within memory limits
Sourcepub fn check_permissions(&self, required: &[String]) -> Result<()>
pub fn check_permissions(&self, required: &[String]) -> Result<()>
Check if an operation has required permissions
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 UnwindSafe for Sandbox
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