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) -> Selfwhere
P: AsRef<Path> + Send + 'static,
Q: AsRef<Path> + Send + 'static,
pub fn image<P, Q>(self, julia_bindir: P, image_path: Q) -> Selfwhere P: AsRef<Path> + Send + 'static, Q: AsRef<Path> + Send + 'static,
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 Twhere
T: 'static + Send + Sync,
impl<T> AttachParachute for Twhere T: 'static + Send + Sync,
source§fn attach_parachute<'scope, T: RootingTarget<'scope>>(
self,
target: T
) -> WithParachute<'scope, Self>
fn attach_parachute<'scope, T: RootingTarget<'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> 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) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
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) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
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)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.