Struct SandboxConfiguration

Source
#[repr(C)]
pub struct SandboxConfiguration { /* private fields */ }
Expand description

The complete set of configuration needed to create a Sandbox

Implementations§

Source§

impl SandboxConfiguration

Source

pub const DEFAULT_INPUT_SIZE: usize = 16_384usize

The default size of input data

Source

pub const MIN_INPUT_SIZE: usize = 8_192usize

The minimum size of input data

Source

pub const DEFAULT_OUTPUT_SIZE: usize = 16_384usize

The default size of output data

Source

pub const MIN_OUTPUT_SIZE: usize = 8_192usize

The minimum size of output data

Source

pub const DEFAULT_HOST_FUNCTION_DEFINITION_SIZE: usize = 4_096usize

The default size of host function definitionsSET Host function definitions has its own page in memory, in order to be READ-ONLY from a guest’s perspective.

Source

pub const MIN_HOST_FUNCTION_DEFINITION_SIZE: usize = 4_096usize

The minimum size of host function definitions

Source

pub const DEFAULT_INTERRUPT_RETRY_DELAY: Duration

The default interrupt retry delay

Source

pub const INTERRUPT_VCPU_SIGRTMIN_OFFSET: u8 = 0u8

The default signal offset from SIGRTMIN used to determine the signal number for interrupting

Source

pub fn set_host_function_definition_size( &mut self, host_function_definition_size: usize, )

Set the size of the memory buffer that is made available for serialising host function definitions the minimum value is MIN_HOST_FUNCTION_DEFINITION_SIZE

Source

pub fn set_input_data_size(&mut self, input_data_size: usize)

Set the size of the memory buffer that is made available for input to the guest the minimum value is MIN_INPUT_SIZE

Source

pub fn set_output_data_size(&mut self, output_data_size: usize)

Set the size of the memory buffer that is made available for output from the guest the minimum value is MIN_OUTPUT_SIZE

Source

pub fn set_stack_size(&mut self, stack_size: u64)

Set the stack size to use in the guest sandbox. If set to 0, the stack size will be determined from the PE file header

Source

pub fn set_heap_size(&mut self, heap_size: u64)

Set the heap size to use in the guest sandbox. If set to 0, the heap size will be determined from the PE file header

Source

pub fn set_interrupt_retry_delay(&mut self, delay: Duration)

Sets the interrupt retry delay

Source

pub fn get_interrupt_retry_delay(&self) -> Duration

Get the delay between retries for interrupts

Source

pub fn get_interrupt_vcpu_sigrtmin_offset(&self) -> u8

Get the signal offset from SIGRTMIN used to determine the signal number for interrupting the VCPU thread

Source

pub fn set_interrupt_vcpu_sigrtmin_offset(&mut self, offset: u8) -> Result<()>

Sets the offset from SIGRTMIN to determine the real-time signal used for interrupting the VCPU thread.

The final signal number is computed as SIGRTMIN + offset, and it must fall within the valid range of real-time signals supported by the host system.

Returns Ok(()) if the offset is valid, or an error if it exceeds the maximum real-time signal number.

Trait Implementations§

Source§

impl Clone for SandboxConfiguration

Source§

fn clone(&self) -> SandboxConfiguration

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SandboxConfiguration

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SandboxConfiguration

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for SandboxConfiguration

Source§

fn eq(&self, other: &SandboxConfiguration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SandboxConfiguration

Source§

impl Eq for SandboxConfiguration

Source§

impl StructuralPartialEq for SandboxConfiguration

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more