|
The Pedigree Project 0.1
|
Collaboration diagram for RequestQueueCallbackScope:Public Member Functions | |
| RequestQueueCallbackScope (RequestQueue *queue, RequestQueue::PreallocatedRequest *releasingToken=nullptr) | |
Static Public Member Functions | |
| static bool | contains (const RequestQueue *queue) |
| static bool | allowsReleaseHandoff (const RequestQueue *queue, const RequestQueue::PreallocatedRequest *token) |
Private Member Functions | |
| RequestQueueCallbackScope (const RequestQueueCallbackScope &)=delete | |
| RequestQueueCallbackScope & | operator= (const RequestQueueCallbackScope &)=delete |
| void | restore () |
Static Private Member Functions | |
| static void | abandon (void *context) |
Private Attributes | |
| RequestQueue * | m_Queue |
| RequestQueue::PreallocatedRequest * | m_ReleasingToken |
| Thread * | m_Thread |
| size_t | m_StateLevel |
| RequestQueueCallbackScope * | m_Previous |
| AtomicStateCleanupRecord | m_Cleanup |
| bool | m_Active |
Marks a derived RequestQueue callback on the current Thread state stack.
The cleanup record is needed because a terminal path can abandon a callback stack without executing this scope's destructor. Nested event states inherit the head pointer, so they cannot re-enter the same queue around an outer callback either.
Definition at line 64 of file RequestQueue.cc.
|
inline |
Definition at line 66 of file RequestQueue.cc.
|
inline |
Definition at line 92 of file RequestQueue.cc.
|
inlinestaticprivate |
Definition at line 143 of file RequestQueue.cc.
|
inlinestatic |
Definition at line 121 of file RequestQueue.cc.
|
inlinestatic |
Definition at line 104 of file RequestQueue.cc.
|
inlineprivate |
Definition at line 150 of file RequestQueue.cc.
|
private |
Definition at line 173 of file RequestQueue.cc.
|
private |
Definition at line 172 of file RequestQueue.cc.
|
private |
Definition at line 171 of file RequestQueue.cc.
|
private |
Definition at line 167 of file RequestQueue.cc.
|
private |
Definition at line 168 of file RequestQueue.cc.
|
private |
Definition at line 170 of file RequestQueue.cc.
|
private |
Definition at line 169 of file RequestQueue.cc.