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 definitions 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_HOST_EXCEPTION_SIZE: usize = 16_384usize

The default size for host exceptions

Source

pub const MIN_HOST_EXCEPTION_SIZE: usize = 16_384usize

The minimum size for host exceptions

Source

pub const DEFAULT_GUEST_ERROR_BUFFER_SIZE: usize = 256usize

The default size for guest error messages

Source

pub const MIN_GUEST_ERROR_BUFFER_SIZE: usize = 128usize

The minimum size for guest error messages

Source

pub const DEFAULT_MAX_INITIALIZATION_TIME: u16 = 2_000u16

The default value for max initialization time (in milliseconds)

Source

pub const MIN_MAX_INITIALIZATION_TIME: u16 = 1u16

The minimum value for max initialization time (in milliseconds)

Source

pub const MAX_MAX_INITIALIZATION_TIME: u16 = 65_535u16

The maximum value for max initialization time (in milliseconds)

Source

pub const DEFAULT_MAX_EXECUTION_TIME: u16 = 1_000u16

The default and minimum values for max execution time (in milliseconds)

Source

pub const MIN_MAX_EXECUTION_TIME: u16 = 1u16

The minimum value for max execution time (in milliseconds)

Source

pub const MAX_MAX_EXECUTION_TIME: u16 = 65_535u16

The maximum value for max execution time (in milliseconds)

Source

pub const DEFAULT_MAX_WAIT_FOR_CANCELLATION: u8 = 100u8

The default and minimum values for max wait for cancellation (in milliseconds)

Source

pub const MIN_MAX_WAIT_FOR_CANCELLATION: u8 = 10u8

The minimum value for max wait for cancellation (in milliseconds)

Source

pub const MAX_MAX_WAIT_FOR_CANCELLATION: u8 = 255u8

The maximum value for max wait for cancellation (in milliseconds)

Source

pub const DEFAULT_GUEST_PANIC_CONTEXT_BUFFER_SIZE: usize = 1_024usize

The default and minimum values for guest panic context data

Source

pub const MIN_GUEST_PANIC_CONTEXT_BUFFER_SIZE: usize = 1_024usize

The minimum value for guest panic context data

Source

pub const MIN_KERNEL_STACK_SIZE: usize = 4_096usize

The minimum value for kernel stack size

Source

pub const DEFAULT_KERNEL_STACK_SIZE: usize = 4_096usize

The default value for kernel stack 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_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_host_exception_size(&mut self, host_exception_size: usize)

Set the size of the memory buffer that is made available for serialising host exceptions the minimum value is MIN_HOST_EXCEPTION_SIZE

Source

pub fn set_guest_error_buffer_size(&mut self, guest_error_buffer_size: usize)

Set the size of the memory buffer that is made available for serialising guest error messages the minimum value is MIN_GUEST_ERROR_BUFFER_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_kernel_stack_size(&mut self, kernel_stack_size: usize)

Set the kernel stack size to use in the guest sandbox. If less than the minimum value of MIN_KERNEL_STACK_SIZE, the minimum value will be used. If its not a multiple of the page size, it will be increased to the a multiple of the page size when memory is allocated.

Source

pub fn set_max_execution_time(&mut self, max_execution_time: Duration)

Set the maximum execution time of a guest function execution. If set to 0, the max_execution_time will be set to the default value of DEFAULT_MAX_EXECUTION_TIME if the guest execution does not complete within the time specified then the execution will be cancelled, the minimum value is MIN_MAX_EXECUTION_TIME

Source

pub fn set_max_execution_cancel_wait_time( &mut self, max_wait_for_cancellation: Duration, )

Set the maximum time to wait for guest execution calculation. If set to 0, the maximum cancellation time will be set to the default value of DEFAULT_MAX_WAIT_FOR_CANCELLATION if the guest execution cancellation does not complete within the time specified then an error will be returned, the minimum value is MIN_MAX_WAIT_FOR_CANCELLATION

Source

pub fn set_max_initialization_time(&mut self, max_initialization_time: Duration)

Set the maximum time to wait for guest initialization. If set to 0, the maximum initialization time will be set to the default value of DEFAULT_MAX_INITIALIZATION_TIME if the guest initialization does not complete within the time specified then an error will be returned, the minimum value is MIN_MAX_INITIALIZATION_TIME

Source

pub fn set_guest_panic_context_buffer_size( &mut self, guest_panic_context_buffer_size: usize, )

Set the size of the memory buffer that is made available for serializing guest panic context the minimum value is MIN_GUEST_PANIC_CONTEXT_BUFFER_SIZE

Trait Implementations§

Source§

impl Clone for SandboxConfiguration

Source§

fn clone(&self) -> SandboxConfiguration

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

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§

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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