Struct polkavm::Config

source ·
pub struct Config { /* private fields */ }

Implementations§

source§

impl Config

source

pub fn new() -> Self

Creates a new default configuration.

source

pub fn from_env() -> Result<Self, Error>

Creates a new default configuration and seeds it from the environment variables.

source

pub fn set_backend(&mut self, backend: Option<BackendKind>) -> &mut Self

Forces the use of a given backend.

Default: None (automatically pick the best available backend)

Corresponding environment variable: POLKAVM_BACKEND (auto, compiler, interpreter)

source

pub fn backend(&self) -> Option<BackendKind>

Gets the currently set backend, if any.

source

pub fn set_sandbox(&mut self, sandbox: Option<SandboxKind>) -> &mut Self

Forces the use of a given sandbox.

Default: None (automatically pick the best available sandbox)

Corresponding environment variable: POLKAVM_SANDBOX (auto, linux, generic)

source

pub fn sandbox(&self) -> Option<SandboxKind>

Gets the currently set sandbox, if any.

source

pub fn set_trace_execution(&mut self, value: bool) -> &mut Self

Enables execution tracing.

Requires set_allow_insecure to be true.

Default: false

Corresponding environment variable: POLKAVM_TRACE_EXECUTION (true, false)

source

pub fn trace_execution(&self) -> bool

Returns whether the execution tracing is enabled.

source

pub fn set_allow_insecure(&mut self, value: bool) -> &mut Self

Enabling this makes it possible to enable other settings which can introduce unsafety or break determinism.

Should only be used for debugging purposes and never enabled by default in production.

Default: false

Corresponding environment variable: POLKAVM_ALLOW_INSECURE (true, false)

source

pub fn set_worker_count(&mut self, value: usize) -> &mut Self

Sets the number of worker sandboxes that will be permanently kept alive by the engine.

This doesn’t limit the number of instances that can be instantiated at the same time; it will just tell the engine how many sandboxes should be cached between instantiations.

For the Linux sandbox this will decide how many worker processes are kept alive.

This only has an effect when using a recompiler. For the interpreter this setting will be ignored.

Default: 2

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

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 Default for Config

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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.