|
The Pedigree Project 0.1
|
#include <LocalApicTimerHandlerSlots.h>
Collaboration diagram for LocalApicTimerHandlerSlots:Public Member Functions | |
| bool | registerHandler (ProcessorId processor, SchedulerTimerHandler *handler) |
| bool | removeHandler (ProcessorId processor, SchedulerTimerHandler *handler) |
| bool | beginDispatch (ProcessorId processor, SchedulerTimerHandlerSlot::DispatchGuard &guard) |
| bool | isPublished (ProcessorId processor, SchedulerTimerHandler *handler) const |
Static Public Attributes | |
| static constexpr size_t | Capacity = 256 |
Private Member Functions | |
| LocalApicTimerHandlerSlots (const LocalApicTimerHandlerSlots &)=delete | |
| LocalApicTimerHandlerSlots & | operator= (const LocalApicTimerHandlerSlots &)=delete |
Private Attributes | |
| SchedulerTimerHandlerSlot | m_Handlers [Capacity] |
Fixed handler publication slots for the 8-bit xAPIC processor envelope.
Definition at line 16 of file LocalApicTimerHandlerSlots.h.
|
inline |
Definition at line 20 of file LocalApicTimerHandlerSlots.h.
|
inline |
Admit one callback on this physical APIC processor and bind its lifetime to the caller's guard. No raw handler pointer escapes the slot.
Definition at line 45 of file LocalApicTimerHandlerSlots.h.
References SchedulerTimerHandlerSlot::beginDispatch().
|
inline |
Test/diagnostic predicate which never permits callback dispatch.
Definition at line 52 of file LocalApicTimerHandlerSlots.h.
References SchedulerTimerHandlerSlot::isPublished().
|
inline |
Publish a handler only when the processor slot is currently empty.
Definition at line 23 of file LocalApicTimerHandlerSlots.h.
References SchedulerTimerHandlerSlot::publish().
|
inline |
Unpublish only the exact handler currently owned by this processor. A different processor is rejected before it can close this slot.
Definition at line 34 of file LocalApicTimerHandlerSlots.h.
References SchedulerTimerHandlerSlot::unpublish().
|
staticconstexpr |
Definition at line 18 of file LocalApicTimerHandlerSlots.h.
|
private |
Definition at line 60 of file LocalApicTimerHandlerSlots.h.