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
impl Builder
Sourcepub fn name<N: AsRef<str>>(self, name: N) -> Self
pub fn name<N: AsRef<str>>(self, name: N) -> Self
Sets the system name, used when naming its threads.
The default is "ntex".
Sourcepub fn signals(self, eanbled: bool) -> Self
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.
Sourcepub fn panic_handling(self, eanbled: bool) -> Self
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.
Sourcepub fn stack_size(self, size: usize) -> Self
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.
Sourcepub fn ping_interval(self, interval: usize) -> Self
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.
Sourcepub fn ping_threshold(self, interval: usize) -> Self
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.
Sourcepub fn latency_interval(self, interval: usize) -> Self
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.
Sourcepub fn thread_pool_limit(self, value: usize) -> Self
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.
Sourcepub fn testing(self) -> Self
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.
Sourcepub fn thread_pool_recv_timeout<T>(self, timeout: T) -> Self
pub fn thread_pool_recv_timeout<T>(self, timeout: T) -> Self
Sets how long an idle blocking worker waits before exiting.
The default is 60 seconds.
Sourcepub fn build<R: Runner>(self, runner: R) -> SystemRunner
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.
Sourcepub fn build_with(self, config: SystemConfig) -> SystemRunner
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.