|
The Pedigree Project 0.1
|
#include <RtcAlarmQueue.h>
Collaboration diagram for RtcAlarmQueue:Classes | |
| class | Record |
| struct | Removal |
Public Types | |
| enum class | RemovalDisposition { NotFound , Removed , SelfDeferred , RemoteInFlight } |
Public Member Functions | |
| Record * | takeReusable () |
| void | add (Record *record) |
| Record * | claimDue (uint64_t now, void *owner) |
| Removal | removeFirst (void *event, void *owner) |
| Record * | removeAllQueued (void *event, void *owner, bool &remoteInFlight, bool &selfDeferred) |
| bool | hasRemoteInFlight (void *event, void *owner) const |
| void | completeDispatch (Record *record) |
| void | recycleList (Record *records) |
| Record * | detachActive () |
| Record * | detachFree () |
| size_t | activeCount () const |
| size_t | freeCount () const |
Static Public Member Functions | |
| template<typename Context > | |
| static void * | dispatchOwnerForContext (Context &context) |
Private Member Functions | |
| void | unlink (Record *previous, Record *record) |
| void | recycle (Record *record) |
Private Attributes | |
| Record * | m_pFirst |
| Record * | m_pLast |
| Record * | m_pFree |
Allocation-free ownership state for RTC alarms.
The caller serialises every operation. Claimed records remain visible until completeDispatch(), so a remote remover can distinguish a committed delivery from an alarm which is still safe to cancel. A same-context remover cannot drain its own stack and is therefore recorded as deferred.
Definition at line 23 of file RtcAlarmQueue.h.
|
strong |
Definition at line 98 of file RtcAlarmQueue.h.
|
inline |
Definition at line 111 of file RtcAlarmQueue.h.
|
inline |
Definition at line 253 of file RtcAlarmQueue.h.
|
inline |
Definition at line 122 of file RtcAlarmQueue.h.
|
inline |
Definition at line 136 of file RtcAlarmQueue.h.
|
inline |
Definition at line 217 of file RtcAlarmQueue.h.
|
inline |
Definition at line 240 of file RtcAlarmQueue.h.
|
inline |
Definition at line 247 of file RtcAlarmQueue.h.
|
inlinestatic |
Distinguish preemptible workers which happen to run on the same CPU.
Definition at line 27 of file RtcAlarmQueue.h.
|
inline |
Definition at line 261 of file RtcAlarmQueue.h.
|
inline |
Definition at line 207 of file RtcAlarmQueue.h.
|
inlineprivate |
Definition at line 282 of file RtcAlarmQueue.h.
|
inline |
Definition at line 231 of file RtcAlarmQueue.h.
|
inline |
Definition at line 170 of file RtcAlarmQueue.h.
|
inline |
Definition at line 148 of file RtcAlarmQueue.h.
|
inline |
Definition at line 113 of file RtcAlarmQueue.h.
Definition at line 270 of file RtcAlarmQueue.h.
|
private |
Definition at line 288 of file RtcAlarmQueue.h.
|
private |
Definition at line 290 of file RtcAlarmQueue.h.
|
private |
Definition at line 289 of file RtcAlarmQueue.h.