pub struct ProactorBuilder { /* private fields */ }
Expand description
Builder for Proactor
.
Implementations§
Source§impl ProactorBuilder
impl ProactorBuilder
Sourcepub fn capacity(&mut self, capacity: u32) -> &mut Self
pub fn capacity(&mut self, capacity: u32) -> &mut Self
Set the capacity of the inner event queue or submission queue, if exists. The default value is 1024.
Sourcepub fn thread_pool_limit(&mut self, value: usize) -> &mut Self
pub fn thread_pool_limit(&mut self, value: usize) -> &mut Self
Set the thread number limit of the inner thread pool, if exists. The default value is 256.
It will be ignored if reuse_thread_pool
is set.
Sourcepub fn thread_pool_recv_timeout(&mut self, timeout: Duration) -> &mut Self
pub fn thread_pool_recv_timeout(&mut self, timeout: Duration) -> &mut Self
Set the waiting timeout of the inner thread, if exists. The default is 60 seconds.
It will be ignored if reuse_thread_pool
is set.
Sourcepub fn reuse_thread_pool(&mut self, pool: AsyncifyPool) -> &mut Self
pub fn reuse_thread_pool(&mut self, pool: AsyncifyPool) -> &mut Self
Set to reuse an existing AsyncifyPool
in this proactor.
Sourcepub fn force_reuse_thread_pool(&mut self) -> &mut Self
pub fn force_reuse_thread_pool(&mut self) -> &mut Self
Force reuse the thread pool for each proactor created by this builder,
even reuse_thread_pool
is not set.
Sourcepub fn create_or_get_thread_pool(&self) -> AsyncifyPool
pub fn create_or_get_thread_pool(&self) -> AsyncifyPool
Create or reuse the thread pool from the config.
Sourcepub fn sqpoll_idle(&mut self, idle: Duration) -> &mut Self
pub fn sqpoll_idle(&mut self, idle: Duration) -> &mut Self
Set io-uring
sqpoll idle milliseconds, when sqpoll_idle
is set,
io-uring sqpoll feature will be enabled
§Notes
- Only effective when the
io-uring
feature is enabled idle
must >= 1ms, otherwise will set sqpoll idle 0msidle
will be rounded down
Sourcepub fn coop_taskrun(&mut self, enable: bool) -> &mut Self
pub fn coop_taskrun(&mut self, enable: bool) -> &mut Self
coop_taskrun
feature has been available since Linux Kernel 5.19. This
will optimize performance for most cases, especially compio is a single
thread runtime.
However, it can’t run with sqpoll feature.
§Notes
- Only effective when the
io-uring
feature is enabled
Sourcepub fn taskrun_flag(&mut self, enable: bool) -> &mut Self
pub fn taskrun_flag(&mut self, enable: bool) -> &mut Self
taskrun_flag
feature has been available since Linux Kernel 5.19. This
allows io-uring driver can know if any cqes are available when try to
push sqe to sq. This should be enabled with
coop_taskrun
§Notes
- Only effective when the
io-uring
feature is enabled
Sourcepub fn register_eventfd(&mut self, fd: RawFd) -> &mut Self
pub fn register_eventfd(&mut self, fd: RawFd) -> &mut Self
Trait Implementations§
Source§impl Clone for ProactorBuilder
impl Clone for ProactorBuilder
Source§fn clone(&self) -> ProactorBuilder
fn clone(&self) -> ProactorBuilder
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more