Skip to main content

Builder

Struct Builder 

Source
pub struct Builder { /* private fields */ }
Expand description

Builder for an ntex runtime system.

Obtain a builder from System::build. Use build to create a SystemRunner, then run the event loop or block on a future.

Implementations§

Source§

impl Builder

Source

pub fn name<N: AsRef<str>>(self, name: N) -> Self

Sets the system name, used when naming its threads.

The default is "ntex".

Source

pub fn signals(self, eanbled: bool) -> Self

Enables or disables process signal handling.

By default, signal handling is disabled. At startup the system attempts to acquire process-wide ownership; another system’s existing registration is not replaced. See System::enable_signals.

Source

pub fn panic_handling(self, eanbled: bool) -> Self

Enables or disables installation of the process-wide panic hook at startup.

When panic handling is enabled, the application can receive Signal::Panic(PanicSource::App(..)) signals while signal handling is enabled. The previously installed panic hook is still called. The hook is installed once and remains installed for the process lifetime; false does not remove a hook installed earlier. By default, installation is disabled.

Source

pub fn stack_size(self, size: usize) -> Self

Sets the stack size, in bytes, for newly spawned arbiter threads.

The default is zero, which uses the standard library’s thread stack size. This does not change the primary arbiter’s or blocking pool workers’ stacks.

Source

pub fn ping_interval(self, interval: usize) -> Self

Sets the ping interval for all registered arbiters, including the primary.

The interval is specified in milliseconds and defaults to 2,000. Set it to zero to disable pings.

Source

pub fn ping_threshold(self, interval: usize) -> Self

Sets the arbiter stall threshold.

A watchdog thread marks an arbiter as stalled when it records no latency sample for longer than the latency_interval plus this threshold, see LatencyMetrics::stalls. On Linux and Windows an attempt is made to create a backtrace for the stalled arbiter.

The threshold is specified in milliseconds and defaults to 1,000.

Source

pub fn latency_interval(self, interval: usize) -> Self

Sets the scheduling latency sampling interval for arbiters.

Each arbiter runs a task that sleeps for the interval and records how late it wakes up, see Arbiter::latency.

The interval is specified in milliseconds and defaults to 100. Set it to zero to disable sampling and stall detection.

Source

pub fn thread_pool_limit(self, value: usize) -> Self

Sets the maximum number of blocking thread-pool workers.

The default is 256. Zero is treated as one; excess work is queued.

Source

pub fn testing(self) -> Self

Configures the system for testing.

Sets the testing flag and disables signal and panic handling on this builder. Subsequent calls can enable either again.

Source

pub fn thread_pool_recv_timeout<T>(self, timeout: T) -> Self
where Duration: From<T>,

Sets how long an idle blocking worker waits before exiting.

The default is 60 seconds.

Source

pub fn build<R: Runner>(self, runner: R) -> SystemRunner

Creates a system runner using the specified runtime runner.

This stores configuration only; the system starts when the returned SystemRunner is driven.

Source

pub fn build_with(self, config: SystemConfig) -> SystemRunner

Creates a system runner from an existing system configuration.

The supplied configuration determines the name, runtime runner, and all other system settings. Only this builder’s signal and panic-handling settings are used. No event loop is started by this method.

Trait Implementations§

Source§

impl Clone for Builder

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Builder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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.