pub struct WheelConfigBuilder { /* private fields */ }Expand description
时间轮配置构建器 (Timing Wheel Configuration Builder)
Implementations§
Source§impl WheelConfigBuilder
impl WheelConfigBuilder
Sourcepub fn l0_tick_duration(self, duration: Duration) -> Self
pub fn l0_tick_duration(self, duration: Duration) -> Self
设置 L0 层 tick 时长 (Set L0 layer tick duration)
Sourcepub fn l0_slot_count(self, count: usize) -> Self
pub fn l0_slot_count(self, count: usize) -> Self
设置 L0 层槽位数量 (Set L0 layer slot count)
Sourcepub fn l1_tick_duration(self, duration: Duration) -> Self
pub fn l1_tick_duration(self, duration: Duration) -> Self
设置 L1 层 tick 时长 (Set L1 layer tick duration)
Sourcepub fn l1_slot_count(self, count: usize) -> Self
pub fn l1_slot_count(self, count: usize) -> Self
设置 L1 层槽位数量 (Set L1 layer slot count)
Sourcepub fn build(self) -> Result<WheelConfig, TimerError>
pub fn build(self) -> Result<WheelConfig, TimerError>
构建配置并进行验证 (Build and validate configuration)
§返回 (Returns)
Ok(WheelConfig): 配置有效 (Configuration is valid)Err(TimerError): 配置验证失败 (Configuration validation failed)
§验证规则 (Validation Rules)
- L0 tick 时长必须大于 0 (L0 tick duration must be greater than 0)
- L1 tick 时长必须大于 0 (L1 tick duration must be greater than 0)
- L0 槽位数量必须大于 0 且是 2 的幂次方 (L0 slot count must be greater than 0 and power of 2)
- L1 槽位数量必须大于 0 且是 2 的幂次方 (L1 slot count must be greater than 0 and power of 2)
- L1 tick 必须是 L0 tick 的整数倍 (L1 tick must be an integer multiple of L0 tick)
Trait Implementations§
Source§impl Clone for WheelConfigBuilder
impl Clone for WheelConfigBuilder
Source§fn clone(&self) -> WheelConfigBuilder
fn clone(&self) -> WheelConfigBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WheelConfigBuilder
impl Debug for WheelConfigBuilder
Auto Trait Implementations§
impl Freeze for WheelConfigBuilder
impl RefUnwindSafe for WheelConfigBuilder
impl Send for WheelConfigBuilder
impl Sync for WheelConfigBuilder
impl Unpin for WheelConfigBuilder
impl UnwindSafe for WheelConfigBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more