pub struct HeapTransportedLinkTable { /* private fields */ }Expand description
Grows with demand; how many links a relay carries is the network’s business, not a storage constant. The side index is an open-addressing table keyed by the link id’s leading bytes (already uniform, so a Lemire multiply-shift), probed linearly, deleted by backward-shift so a churning table never silts up.
Trait Implementations§
Source§impl Debug for HeapTransportedLinkTable
impl Debug for HeapTransportedLinkTable
Source§impl Default for HeapTransportedLinkTable
impl Default for HeapTransportedLinkTable
Source§fn default() -> HeapTransportedLinkTable
fn default() -> HeapTransportedLinkTable
Returns the “default value” for a type. Read more
Source§impl TransportedLinkTable for HeapTransportedLinkTable
impl TransportedLinkTable for HeapTransportedLinkTable
fn capacity(&self) -> usize
fn len(&self) -> usize
fn entries(&self) -> &[TransportedLink]
fn entries_mut(&mut self) -> &mut [TransportedLink]
fn index_of(&self, link_id: &LinkId) -> Option<usize>
fn deadline_updated(&mut self, _index: usize)
fn earliest_indexed_deadline(&mut self) -> Option<InstantMillis>
fn first_overdue(&mut self, now: InstantMillis) -> Option<usize>
fn push(&mut self, entry: TransportedLink) -> Result<(), TablePushError>
fn swap_remove(&mut self, index: usize)
fn is_empty(&self) -> bool
Auto Trait Implementations§
impl Freeze for HeapTransportedLinkTable
impl RefUnwindSafe for HeapTransportedLinkTable
impl Send for HeapTransportedLinkTable
impl Sync for HeapTransportedLinkTable
impl Unpin for HeapTransportedLinkTable
impl UnsafeUnpin for HeapTransportedLinkTable
impl UnwindSafe for HeapTransportedLinkTable
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