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

SharedData

SPtr<SchedulerTicketQueueData> SharedData

Next

Previous

Callback

Function<void ()> Callback

IsCalled

bool IsCalled

IsDone

std::atomic<bool> IsDone

IsCalledSignal

Signal IsCalledSignal