[−][src]Struct tokio::runtime::Builder
Builds Tokio Runtime with custom configuration values.
Methods can be chained in order to set the configuration values. The
Runtime is constructed by calling build
.
New instances of Builder
are obtained via Builder::new
.
See function level documentation for details on the various configuration settings.
Examples
extern crate tokio; extern crate tokio_timer; use std::time::Duration; use tokio::runtime::Builder; use tokio_timer::clock::Clock; fn main() { // build Runtime let mut runtime = Builder::new() .blocking_threads(4) .clock(Clock::system()) .core_threads(4) .keep_alive(Some(Duration::from_secs(60))) .name_prefix("my-custom-name-") .stack_size(3 * 1024 * 1024) .build() .unwrap(); // use runtime ... }
Methods
impl Builder
[src]
impl Builder
pub fn new() -> Builder
[src]
pub fn new() -> Builder
Returns a new runtime builder initialized with default configuration values.
Configuration methods can be chained on the return value.
ⓘImportant traits for &'a mut Rpub fn clock(&mut self, clock: Clock) -> &mut Self
[src]
pub fn clock(&mut self, clock: Clock) -> &mut Self
Set the Clock
instance that will be used by the runtime.
ⓘImportant traits for &'a mut Rpub fn core_threads(&mut self, val: usize) -> &mut Self
[src]
pub fn core_threads(&mut self, val: usize) -> &mut Self
Set the maximum number of worker threads for the Runtime
's thread pool.
This must be a number between 1 and 32,768 though it is advised to keep this value on the smaller side.
The default value is the number of cores available to the system.
Examples
let mut rt = runtime::Builder::new() .core_threads(4) .build() .unwrap();
ⓘImportant traits for &'a mut Rpub fn blocking_threads(&mut self, val: usize) -> &mut Self
[src]
pub fn blocking_threads(&mut self, val: usize) -> &mut Self
Set the maximum number of concurrent blocking sections in the Runtime
's
thread pool.
When the maximum concurrent blocking
calls is reached, any further
calls to blocking
will return NotReady
and the task is notified once
previously in-flight calls to blocking
return.
This must be a number between 1 and 32,768 though it is advised to keep this value on the smaller side.
The default value is 100.
Examples
let mut rt = runtime::Builder::new() .blocking_threads(200) .build();
ⓘImportant traits for &'a mut Rpub fn keep_alive(&mut self, val: Option<Duration>) -> &mut Self
[src]
pub fn keep_alive(&mut self, val: Option<Duration>) -> &mut Self
Set the worker thread keep alive duration for threads in the Runtime
's
thread pool.
If set, a worker thread will wait for up to the specified duration for work, at which point the thread will shutdown. When work becomes available, a new thread will eventually be spawned to replace the one that shut down.
When the value is None
, the thread will wait for work forever.
The default value is None
.
Examples
use std::time::Duration; let mut rt = runtime::Builder::new() .keep_alive(Some(Duration::from_secs(30))) .build();
ⓘImportant traits for &'a mut Rpub fn name_prefix<S: Into<String>>(&mut self, val: S) -> &mut Self
[src]
pub fn name_prefix<S: Into<String>>(&mut self, val: S) -> &mut Self
Set name prefix of threads spawned by the Runtime
's thread pool.
Thread name prefix is used for generating thread names. For example, if
prefix is my-pool-
, then threads in the pool will get names like
my-pool-1
etc.
The default prefix is "tokio-runtime-worker-".
Examples
let mut rt = runtime::Builder::new() .name_prefix("my-pool-") .build();
ⓘImportant traits for &'a mut Rpub fn stack_size(&mut self, val: usize) -> &mut Self
[src]
pub fn stack_size(&mut self, val: usize) -> &mut Self
Set the stack size (in bytes) for worker threads.
The actual stack size may be greater than this value if the platform specifies minimal stack size.
The default stack size for spawned threads is 2 MiB, though this particular stack size is subject to change in the future.
Examples
let mut rt = runtime::Builder::new() .stack_size(32 * 1024) .build();
ⓘImportant traits for &'a mut Rpub fn after_start<F>(&mut self, f: F) -> &mut Self where
F: Fn() + Send + Sync + 'static,
[src]
pub fn after_start<F>(&mut self, f: F) -> &mut Self where
F: Fn() + Send + Sync + 'static,
Execute function f
after each thread is started but before it starts
doing work.
This is intended for bookkeeping and monitoring use cases.
Examples
let thread_pool = runtime::Builder::new() .after_start(|| { println!("thread started"); }) .build();
ⓘImportant traits for &'a mut Rpub fn before_stop<F>(&mut self, f: F) -> &mut Self where
F: Fn() + Send + Sync + 'static,
[src]
pub fn before_stop<F>(&mut self, f: F) -> &mut Self where
F: Fn() + Send + Sync + 'static,
Execute function f
before each thread stops.
This is intended for bookkeeping and monitoring use cases.
Examples
let thread_pool = runtime::Builder::new() .before_stop(|| { println!("thread stopping"); }) .build();
pub fn build(&mut self) -> Result<Runtime>
[src]
pub fn build(&mut self) -> Result<Runtime>
Create the configured Runtime
.
The returned ThreadPool
instance is ready to spawn tasks.
Examples
let runtime = Builder::new().build().unwrap(); // ... call runtime.run(...)
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow(&self) -> &T
[src]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> Erased for T
[src]
impl<T> Erased for T