pub struct WarmIsolatePool { /* private fields */ }Expand description
Configuration holder and factory for pre-warmed JS extension runtimes.
Since PiJsRuntime uses Rc internally and cannot cross thread
boundaries, the pool does not hold live runtime instances. Instead, it
provides a factory that produces pre-configured PiJsRuntimeConfig values,
and runtimes can be returned to a “warm” state via
PiJsRuntime::reset_transient_state.
§Lifecycle
- Create pool with desired config via
WarmIsolatePool::new. - Call
make_configto get a pre-warmedPiJsRuntimeConfigfor each runtime thread. - After use, call
PiJsRuntime::reset_transient_stateto return the runtime to a clean state (keeping the transpiled source cache).
Implementations§
Source§impl WarmIsolatePool
impl WarmIsolatePool
Sourcepub fn new(template: PiJsRuntimeConfig) -> Self
pub fn new(template: PiJsRuntimeConfig) -> Self
Create a new warm isolate pool with the given template config.
Sourcepub fn make_config(&self) -> PiJsRuntimeConfig
pub fn make_config(&self) -> PiJsRuntimeConfig
Create a pre-configured PiJsRuntimeConfig with shared pool state.
Sourcepub fn record_reset(&self)
pub fn record_reset(&self)
Record that a runtime was reset for reuse.
Sourcepub fn created_count(&self) -> u64
pub fn created_count(&self) -> u64
Number of runtimes created from this pool.
Sourcepub fn reset_count(&self) -> u64
pub fn reset_count(&self) -> u64
Number of runtime resets performed.
Trait Implementations§
Source§impl Clone for WarmIsolatePool
impl Clone for WarmIsolatePool
Source§fn clone(&self) -> WarmIsolatePool
fn clone(&self) -> WarmIsolatePool
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WarmIsolatePool
impl Debug for WarmIsolatePool
Auto Trait Implementations§
impl Freeze for WarmIsolatePool
impl RefUnwindSafe for WarmIsolatePool
impl Send for WarmIsolatePool
impl Sync for WarmIsolatePool
impl Unpin for WarmIsolatePool
impl UnsafeUnpin for WarmIsolatePool
impl UnwindSafe for WarmIsolatePool
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().