struct SchedulerThread::WaitingFibers

Contains all fibers waiting for a timeout.

Public

Methods

TryPop

Fiber *TryPop(const TimePoint &timeout)

Returns the next fiber that has exceeded its timeout, or null if no such fibers.

PeekTime

TimePoint PeekTime() const

Returns the time-point of the first fiber that is to execute next.

Add

void Add(const TimePoint &timeout, Fiber *fiber)

Adds a new fiber to the list of the waiting fibers.

Erase

void Erase(Fiber *fiber)

Removes a fiber from the waiting fiber list.

Contains

bool Contains(Fiber *fiber) const

Returns true if the waiting fiber list contains the provided fiber.

Operators

operator bool

operator bool() const

Returns true if there are any waiting fibers.

Private

Fields

mOrderedFibers

Set<WaitingFiber, std::less<WaitingFiber>> mOrderedFibers

mFiberLookup

UnorderedMap<Fiber *, TimePoint> mFiberLookup