|
The Pedigree Project 0.1
|
#include <BufferMonitors.h>
Collaboration diagram for BufferMonitors:Classes | |
| struct | MonitorTarget |
Public Member Functions | |
| bool | add (Thread *thread, Event *event) |
| void | add (Semaphore *semaphore) |
| void | notify () |
| void | clear () |
| void | cull (Thread *thread) |
| void | cull (Semaphore *semaphore) |
| void | cull (Event *event) |
Private Member Functions | |
| NOT_COPYABLE_OR_ASSIGNABLE (BufferMonitors) | |
Private Attributes | |
| List< MonitorTarget * > | m_Targets |
One-shot buffer readiness subscriptions. The caller serializes registration, notification and removal with the mutex protecting its buffer state.
Definition at line 22 of file BufferMonitors.h.
| BufferMonitors::BufferMonitors | ( | ) |
Definition at line 36 of file BufferMonitors.cc.
| BufferMonitors::~BufferMonitors | ( | ) |
Definition at line 38 of file BufferMonitors.cc.
| void BufferMonitors::add | ( | Semaphore * | semaphore | ) |
Definition at line 52 of file BufferMonitors.cc.
Returns false if the Event has closed registration admission.
Definition at line 42 of file BufferMonitors.cc.
References Event::tryAcquireRegistration().
| void BufferMonitors::clear | ( | ) |
Wakes semaphore waiters but retires Event registrations without delivery.
Definition at line 70 of file BufferMonitors.cc.
References Semaphore::release().
| void BufferMonitors::cull | ( | Event * | event | ) |
Definition at line 106 of file BufferMonitors.cc.
| void BufferMonitors::cull | ( | Semaphore * | semaphore | ) |
Definition at line 94 of file BufferMonitors.cc.
| void BufferMonitors::cull | ( | Thread * | thread | ) |
Definition at line 82 of file BufferMonitors.cc.
| void BufferMonitors::notify | ( | ) |
Delivers every subscription and releases its registration.
Definition at line 56 of file BufferMonitors.cc.
References Semaphore::release(), and Thread::sendEvent().
|
private |
Definition at line 45 of file BufferMonitors.h.