Struct TokioRuntimeBuilder

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

Builds a compatibility runtime with custom configuration values.

This runtime is compatible with code using both the current release version of tokio (0.1) and with legacy code using tokio 0.1.

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


use tokio_compat::runtime::Builder;
use tokio_timer_02::clock::Clock;

fn main() {
    // build Runtime
    let runtime = Builder::new()
        .clock(Clock::system())
        .core_threads(4)
        .name_prefix("my-custom-name-")
        .stack_size(3 * 1024 * 1024)
        .build()
        .unwrap();

    // use runtime ...
}

Implementations§

Source§

impl Builder

Source

pub fn new() -> Builder

Returns a new runtime builder initialized with default configuration values.

Configuration methods can be chained on the return value.

Source

pub fn clock(&mut self, clock: Clock) -> &mut Builder

Set the Clock instance that will be used by the runtime’s legacy timer.

Source

pub fn core_threads(&mut self, val: usize) -> &mut Builder

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 rt = runtime::Builder::new()
    .core_threads(4)
    .build()
    .unwrap();
Source

pub fn name_prefix<S>(&mut self, val: S) -> &mut Builder
where S: Into<String>,

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 rt = runtime::Builder::new()
    .name_prefix("my-pool-")
    .build();
Source

pub fn stack_size(&mut self, val: usize) -> &mut Builder

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 rt = runtime::Builder::new()
    .stack_size(32 * 1024)
    .build();
Source

pub fn build(&mut self) -> Result<Runtime, Error>

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§

Source§

impl Debug for Builder

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Builder

Source§

fn default() -> Builder

Returns the “default value” for a type. 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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.