Struct actix_server::ServerBuilder
source · [−]pub struct ServerBuilder { /* private fields */ }
Expand description
Server builder.
Implementations
sourceimpl ServerBuilder
impl ServerBuilder
sourcepub fn new() -> ServerBuilder
pub fn new() -> ServerBuilder
Create new Server builder instance
sourcepub fn workers(self, num: usize) -> Self
pub fn workers(self, num: usize) -> Self
Set number of workers to start.
num
must be greater than 0.
The default worker count is the number of physical CPU cores available. If your benchmark
testing indicates that simultaneous multi-threading is beneficial to your app, you can use
the num_cpus
crate to acquire the logical core count instead.
sourcepub fn worker_max_blocking_threads(self, num: usize) -> Self
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 = ServerBuilder::new()
.workers(4) // server has 4 worker thread.
.worker_max_blocking_threads(4); // every worker has 4 max blocking threads.
See tokio::runtime::Builder::max_blocking_threads for behavior reference.
sourcepub fn backlog(self, num: u32) -> Self
pub fn backlog(self, num: u32) -> Self
Set the maximum number of pending connections.
This refers to the number of clients that can be waiting to be served. Exceeding this number results in the client getting an error when attempting to connect. It should only affect servers under significant load.
Generally set in the 64-2048 range. Default value is 2048.
This method should be called before bind()
method call.
sourcepub fn max_concurrent_connections(self, num: usize) -> Self
pub fn max_concurrent_connections(self, num: usize) -> Self
Sets the maximum per-worker number of concurrent connections.
All socket listeners will stop accepting connections when this limit is reached for each worker.
By default max connections is set to a 25k per worker.
sourcepub fn system_exit(self) -> Self
pub fn system_exit(self) -> Self
Stop Actix System
after server shutdown.
sourcepub fn disable_signals(self) -> Self
pub fn disable_signals(self) -> Self
Disable OS signal handling.
sourcepub fn shutdown_timeout(self, sec: u64) -> Self
pub fn shutdown_timeout(self, sec: 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.
sourcepub fn bind<F, U, N>(self, name: N, addr: U, factory: F) -> Result<Self> where
F: ServerServiceFactory<TcpStream>,
U: ToSocketAddrs,
N: AsRef<str>,
pub fn bind<F, U, N>(self, name: N, addr: U, factory: F) -> Result<Self> where
F: ServerServiceFactory<TcpStream>,
U: ToSocketAddrs,
N: AsRef<str>,
Add new service to the server.
sourceimpl ServerBuilder
impl ServerBuilder
sourcepub fn bind_uds<F, U, N>(self, name: N, addr: U, factory: F) -> Result<Self> where
F: ServerServiceFactory<UnixStream>,
N: AsRef<str>,
U: AsRef<Path>,
pub fn bind_uds<F, U, N>(self, name: N, addr: U, factory: F) -> Result<Self> where
F: ServerServiceFactory<UnixStream>,
N: AsRef<str>,
U: AsRef<Path>,
Add new unix domain service to the server.
sourcepub fn listen_uds<F, N: AsRef<str>>(
self,
name: N,
lst: StdUnixListener,
factory: F
) -> Result<Self> where
F: ServerServiceFactory<UnixStream>,
pub fn listen_uds<F, N: AsRef<str>>(
self,
name: N,
lst: StdUnixListener,
factory: F
) -> Result<Self> where
F: ServerServiceFactory<UnixStream>,
Add new unix domain service to the server.
Useful when running as a systemd service and a socket FD is acquired externally.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ServerBuilder
impl Send for ServerBuilder
impl !Sync for ServerBuilder
impl Unpin for ServerBuilder
impl !UnwindSafe for ServerBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more