struct
SchedulerTicketData
Linked list entry storing information about one ticket, and links a ticket to its previous/next ticket.
Public
Methods
~SchedulerTicketData
inline ~SchedulerTicketData()
TransitionToDoneState
void TransitionToDoneState()
Transitions the associated ticket into Done state.
If all previous tickets are also in Done state, moves the next ticket (if any) into Called state.
TransitionToCalledState
void TransitionToCalledState(Lock &lock)
Transitions the ticket into Called state, and triggers the associated callback (if any).
- lock
- Locked acquired from the ticket queue's shared mutex. Lock will be unlocked internally.
RemoveFromLinkedList
void RemoveFromLinkedList()
Unlinks the record from the linked list.
This call must be guarded by a lock from the ticket queue's mutex.
Fields
Next
SchedulerTicketData * Next
Previous
SchedulerTicketData * Previous
Callback
Function<void ()> Callback
IsCalled
bool IsCalled
IsDone
std::atomic<bool> IsDone
IsCalledSignal
Signal IsCalledSignal