Struct jlrs::runtime::builder::AsyncRuntimeBuilder
source · pub struct AsyncRuntimeBuilder<R>where
R: AsyncRuntime,{ /* private fields */ }
Expand description
Build the async runtime backed by some runtime R
.
Implementations§
source§impl<R> AsyncRuntimeBuilder<R>where
R: AsyncRuntime,
impl<R> AsyncRuntimeBuilder<R>where
R: AsyncRuntime,
sourcepub fn n_threads(self, n: usize) -> Self
pub fn n_threads(self, n: usize) -> Self
Set the number of threads Julia can use.
If it’s set to 0, the default value, the number of threads is the number of CPU cores.
NB: When the nightly
or beta
feature is enabled, this sets the number of
threads allocated to the :default
pool.
sourcepub fn n_interactive_threads(self, n: usize) -> Self
pub fn n_interactive_threads(self, n: usize) -> Self
Set the number of threads allocated to the :interactive
pool.
If it’s set to 0, the default value, no threads are allocated to this pool.
sourcepub fn n_worker_threads(self, n: usize) -> Self
pub fn n_worker_threads(self, n: usize) -> Self
Set the number of worker threads jlrs creates in addition to the runtime thread.
If it’s set to 0, the default value, no worker threads are created.
sourcepub fn channel_capacity(self, capacity: NonZeroUsize) -> Self
pub fn channel_capacity(self, capacity: NonZeroUsize) -> Self
Set the capacity of the channel used to communicate with the async runtime.
The default value is 16.
sourcepub fn recv_timeout(self, timeout: Duration) -> Self
pub fn recv_timeout(self, timeout: Duration) -> Self
Set the receive timeout of the channel used to communicate with the async runtime.
If no message is received before the timeout occurs, the async runtime yields control to Julia to ensure the scheduler and garbage collector can run, and events are processed periodically.
The default value is 1 millisecond.
sourcepub fn image<P, Q>(self, julia_bindir: P, image_path: Q) -> Self
pub fn image<P, Q>(self, julia_bindir: P, image_path: Q) -> Self
Use a custom system image.
You must provide two arguments to use a custom system image, julia_bindir
and
image_path
. The first is the absolute path to a directory that contains a
compatible Julia binary (eg ${JULIA_DIR}/bin
), the second is the path to a
system image.
A custom system image can be created with PackageCompiler
.
sourcepub fn install_jlrs(self, install: InstallJlrsCore) -> Self
pub fn install_jlrs(self, install: InstallJlrsCore) -> Self
Enable or disable automatically installing JlrsCore.
In order to function correctly, jlrs requires that the JlrsCore package is installed. By default, this package is automatically installed if it hasn’t been installed yet.
sourcepub unsafe fn start<const N: usize>(
self
) -> JlrsResult<(AsyncJulia<R>, JoinHandle<JlrsResult<()>>)>
pub unsafe fn start<const N: usize>( self ) -> JlrsResult<(AsyncJulia<R>, JoinHandle<JlrsResult<()>>)>
Initialize Julia on another thread.
You must set the maximum number of concurrent tasks with the N
const generic.
sourcepub unsafe fn start_async<const N: usize>(
self
) -> JlrsResult<(AsyncJulia<R>, R::RuntimeHandle)>
pub unsafe fn start_async<const N: usize>( self ) -> JlrsResult<(AsyncJulia<R>, R::RuntimeHandle)>
Initialize Julia as a blocking task.
You must set the maximum number of concurrent tasks with the N
const generic.
Auto Trait Implementations§
impl<R> RefUnwindSafe for AsyncRuntimeBuilder<R>where
R: RefUnwindSafe,
impl<R> Send for AsyncRuntimeBuilder<R>
impl<R> Sync for AsyncRuntimeBuilder<R>
impl<R> Unpin for AsyncRuntimeBuilder<R>where
R: Unpin,
impl<R> UnwindSafe for AsyncRuntimeBuilder<R>where
R: UnwindSafe,
Blanket Implementations§
source§impl<T> AttachParachute for T
impl<T> AttachParachute for T
source§fn attach_parachute<'scope, T: Target<'scope>>(
self,
target: T
) -> WithParachute<'scope, Self>
fn attach_parachute<'scope, T: Target<'scope>>( self, target: T ) -> WithParachute<'scope, Self>
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.