pub struct WheelEntry<T> { /* private fields */ }Expand description
Timer wheel entry stored inside a slab slot.
This type appears in the public type signature of TimerWheel
as the slab’s item type, but is opaque — users never construct or access it directly.
§Layout
DLL links and deadline are hot (touched every list walk / poll check). The refcount is accessed on schedule/cancel/fire. Level and slot index are set at insertion and read on cancel — they replace the recomputation that was unsound after time advances. The value is cold relative to the links — only read on fire or cancel.
UnsafeCell<Option<T>> provides interior mutability for .take() through
shared references (slab gives &self access). Option<T> makes Drop safe:
drop_in_place on None is a no-op. Single-threaded (!Send), so
UnsafeCell is sound.
Auto Trait Implementations§
impl<T> !Freeze for WheelEntry<T>
impl<T> !RefUnwindSafe for WheelEntry<T>
impl<T> !Send for WheelEntry<T>
impl<T> !Sync for WheelEntry<T>
impl<T> Unpin for WheelEntry<T>where
T: Unpin,
impl<T> UnsafeUnpin for WheelEntry<T>where
T: UnsafeUnpin,
impl<T> !UnwindSafe for WheelEntry<T>
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