Struct rquickjs_core::Runtime[][src]

#[repr(transparent)]pub struct Runtime { /* fields omitted */ }

Quickjs runtime, entry point of the library.

Implementations

impl Runtime[src]

pub fn idle(&self) -> Idle

Notable traits for Idle

impl Future for Idle type Output = ();
[src]

This is supported on crate feature futures only.

Await until all pending jobs and spawned futures will be done

pub fn run_executor(&self) -> Executor

Notable traits for Executor

impl Future for Executor type Output = ();
[src]

This is supported on crate feature futures only.

Run pending jobs and futures executor

pub fn spawn_executor<A: ExecutorSpawner>(&self, spawner: A) -> A::JoinHandle[src]

This is supported on crate feature futures only.

Spawn pending jobs and futures executor

pub fn spawn<F, T>(&self, future: F) where
    F: Future<Output = T> + ParallelSend + 'static,
    T: ParallelSend + 'static, 
[src]

This is supported on crate feature futures only.

Spawn future using runtime

impl Runtime[src]

pub fn new() -> Result<Self>[src]

Create a new runtime.

Will generally only fail if not enough memory was available.

Features

If the "rust-alloc" feature is enabled the Rust's global allocator will be used in favor of libc's one.

pub fn new_with_alloc<A>(allocator: A) -> Result<Self> where
    A: Allocator + 'static, 
[src]

This is supported on crate feature allocator only.

Create a new runtime using specified allocator

Will generally only fail if not enough memory was available.

pub fn weak(&self) -> WeakRuntime[src]

Get weak ref to runtime

pub fn set_loader<R, L>(&self, resolver: R, loader: L) where
    R: Resolver + 'static,
    L: Loader + 'static, 
[src]

This is supported on crate feature loader only.

Set the module loader

pub fn set_info<S: Into<Vec<u8>>>(&self, info: S) -> Result<()>[src]

Set the info of the runtime

pub fn set_memory_limit(&self, limit: usize)[src]

Set a limit on the max amount of memory the runtime will use.

Setting the limit to 0 is equivalent to unlimited memory.

pub fn set_max_stack_size(&self, limit: usize)[src]

Set a limit on the max size of stack the runtime will use.

The default values is 256x1024 bytes.

pub fn set_gc_threshold(&self, threshold: usize)[src]

Set a memory threshold for garbage collection.

pub fn run_gc(&self)[src]

Manually run the garbage collection.

Most of quickjs values are reference counted and will automaticly free themselfs when they have no more references. The garbage collector is only for collecting cyclic references.

pub fn memory_usage(&self) -> MemoryUsage[src]

Get memory usage stats

pub fn is_job_pending(&self) -> bool[src]

Test for pending jobs

Returns true when at least one job is pending.

pub fn execute_pending_job(&self) -> Result<bool>[src]

Execute first pending job

Returns true when job was executed or false when queue is empty or error when exception thrown under execution.

Trait Implementations

impl Clone for Runtime[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.