Struct xitca_server::Builder

source ·
pub struct Builder { /* private fields */ }

Implementations§

source§

impl Builder

source

pub fn new() -> Self

Create new Builder instance

source

pub fn server_threads(self, num: usize) -> Self

Set number of threads dedicated to accepting connections.

Default set to 1.

§Panics:

When receive 0 as number of server thread.

source

pub fn worker_threads(self, num: usize) -> Self

Set number of workers to start.

Default set to available logical cpu as workers count.

§Panics:

When received 0 as number of worker thread.

source

pub fn worker_max_blocking_threads(self, num: usize) -> Self

Set max number of threads for each worker’s blocking task thread pool.

One thread pool is set up per worker; not shared across workers.

§Examples:
let builder = Builder::new()
    .worker_threads(4) // server has 4 worker threads.
    .worker_max_blocking_threads(4); // every worker has 4 max blocking threads.

See tokio::runtime::Builder::max_blocking_threads for behavior reference.

source

pub fn disable_signal(self) -> Self

Disable signal listening. Server would only be shutdown from ServerHandle

source

pub fn shutdown_timeout(self, secs: u64) -> Self

Timeout for graceful workers shutdown in seconds.

After receiving a stop signal, workers have this much time to finish serving requests. Workers still alive after the timeout are force dropped.

By default shutdown timeout sets to 30 seconds.

source

pub fn backlog(self, num: u32) -> Self

source

pub fn listen<N, L, F, St>(self, name: N, listener: L, service: F) -> Self
where N: AsRef<str>, F: IntoServiceObj<St>, St: TryFrom<Stream> + 'static, Option<L>: AsListener + 'static,

source

pub fn build(self) -> ServerFuture

source§

impl Builder

source

pub fn bind<N, A, F, St>(self, name: N, addr: A, service: F) -> Result<Self>
where N: AsRef<str>, A: ToSocketAddrs, F: IntoServiceObj<St>, St: TryFrom<Stream> + 'static,

Trait Implementations§

source§

impl Default for Builder

source§

fn default() -> Self

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

§

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

§

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more