pub struct TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode,{ /* private fields */ }Expand description
A type of deque which issues a tickets TimerDequeTicket which
contains a TimerDequeId - a uniq number of the ticket.
On timeout, the TimerDequeId is returned to indentify the timeout
source.
§Generics
MODE - a OrderedTimerDequeMode defines the deque behaviour. There are
two types of the operation:
-
After timeout the element is removed from the queue.
-
After timeout the element timeout is extended automatically until the item removed from the queue manually.
§Examples
ⓘ
let mut time_list =
OrderedTimerDeque
::<DequeOnce, TimerDequeTicketIssuer<_>>
::new("test_label1".into(), 4, false, true)
.unwrap();or
ⓘ
let mut time_list =
OrderedTimerDeque
::<DequePeriodic, TimerDequeTicketIssuer<_>>
::new("test_label1".into(), 4, false, true)
.unwrap();Trait Implementations§
Source§impl<MODE> Debug for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode + Debug,
impl<MODE> Debug for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode + Debug,
Source§impl<MODE: OrderedTimerDequeMode> Display for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> Display for TimerDequeTicketIssuer<MODE>
Source§impl<MODE: OrderedTimerDequeMode> Ord for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> Ord for TimerDequeTicketIssuer<MODE>
Source§impl<MODE> OrderedTimerDequeHandle<MODE> for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode,
impl<MODE> OrderedTimerDequeHandle<MODE> for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode,
Source§type TimerId = TimerDequeId
type TimerId = TimerDequeId
Input item.
Source§type HandleRes = Vec<<TimerDequeTicketIssuer<MODE> as OrderedTimerDequeHandle<MODE>>::TimerId>
type HandleRes = Vec<<TimerDequeTicketIssuer<MODE> as OrderedTimerDequeHandle<MODE>>::TimerId>
A collection which is used to collect the items which are removed from
the queue due to timeout.
Source§fn handle(
self,
timer_self: &mut OrderTimerDeque<MODE, Self>,
timer_ids: &mut Self::HandleRes,
) -> TimerResult<()>
fn handle( self, timer_self: &mut OrderTimerDeque<MODE, Self>, timer_ids: &mut Self::HandleRes, ) -> TimerResult<()>
A spefic code which is called during timeout routine handling. Normally is should
store the result into the
collection and reschedule the item if it is repeated.Source§fn is_same(&self, other: &Self::TimerId) -> bool
fn is_same(&self, other: &Self::TimerId) -> bool
Matches the current instance with provided
other instances
OrderedTimerDequeHandle::TimerId. But, the PartialEq<Self::TimerId> is
implemented, so the == can be used to compare.Source§fn postpone(&mut self, postp_time: RelativeTime) -> TimerResult<()>
fn postpone(&mut self, postp_time: RelativeTime) -> TimerResult<()>
Postpones the timeout of the current instance. The
postp_time is a RelativeTime
i.e inroduces the offset.Source§fn resched(&mut self, time: MODE) -> TimerResult<()>
fn resched(&mut self, time: MODE) -> TimerResult<()>
Reschedules the current instance. This is different from the
postpone as the
instance is assagned with a new time. The MODE cannot be changed, only time.Source§fn into_timer_id(self) -> Option<Self::TimerId>
fn into_timer_id(self) -> Option<Self::TimerId>
Attempts to acquire the OrderedTimerDequeHandle::TimerId by consuming the instance.
Source§impl<MODE> OrderedTimerDequeInterf<MODE> for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode,
impl<MODE> OrderedTimerDequeInterf<MODE> for TimerDequeTicketIssuer<MODE>where
MODE: OrderedTimerDequeMode,
Source§fn get_timeout_absolute(&self) -> AbsoluteTime
fn get_timeout_absolute(&self) -> AbsoluteTime
Returns the absolute time and the timer mode.
Source§impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeId> for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeId> for TimerDequeTicketIssuer<MODE>
Source§impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeTicket> for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeTicket> for TimerDequeTicketIssuer<MODE>
Source§impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeTicketIssuer<MODE>> for TimerDequeTicket
impl<MODE: OrderedTimerDequeMode> PartialEq<TimerDequeTicketIssuer<MODE>> for TimerDequeTicket
Source§fn eq(&self, other: &TimerDequeTicketIssuer<MODE>) -> bool
fn eq(&self, other: &TimerDequeTicketIssuer<MODE>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<MODE: OrderedTimerDequeMode> PartialEq for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> PartialEq for TimerDequeTicketIssuer<MODE>
Source§impl<MODE: OrderedTimerDequeMode> PartialOrd for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> PartialOrd for TimerDequeTicketIssuer<MODE>
impl<MODE: OrderedTimerDequeMode> Eq for TimerDequeTicketIssuer<MODE>
Auto Trait Implementations§
impl<MODE> Freeze for TimerDequeTicketIssuer<MODE>where
MODE: Freeze,
impl<MODE> RefUnwindSafe for TimerDequeTicketIssuer<MODE>where
MODE: RefUnwindSafe,
impl<MODE> Send for TimerDequeTicketIssuer<MODE>where
MODE: Send,
impl<MODE> Sync for TimerDequeTicketIssuer<MODE>where
MODE: Sync,
impl<MODE> Unpin for TimerDequeTicketIssuer<MODE>where
MODE: Unpin,
impl<MODE> UnwindSafe for TimerDequeTicketIssuer<MODE>where
MODE: UnwindSafe,
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