![]() |
This is Unofficial EPICS BASE Doxygen Site
|
#include "pvahelper.h"
Classes | |
struct | no_overflow |
Public Types | |
typedef epics::pvAccess::MonitorRequester | requester_t |
typedef epicsGuard< epicsMutex > | guard_t |
typedef epicsGuardRelease< epicsMutex > | unguard_t |
![]() | |
typedef MonitorRequester | requester_type |
Public Member Functions | |
POINTER_DEFINITIONS (BaseMonitor) | |
shared_pointer | shared_from_this () |
BaseMonitor (epicsMutex &lock, const requester_t::weak_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq) | |
virtual | ~BaseMonitor () |
const epics::pvData::PVStructurePtr & | getValue () |
void | connect (guard_t &guard, const epics::pvData::PVStructurePtr &value) |
bool | post (guard_t &guard, const epics::pvData::BitSet &updated, no_overflow) |
post update if queue not full, if full return false w/o overflow More... | |
bool | post (guard_t &guard) |
post update of pending changes. eg. call from requestUpdate() More... | |
bool | post (guard_t &guard, const epics::pvData::BitSet &updated, const epics::pvData::BitSet &overflowed) |
post update with changed and overflowed masks (eg. when updates were lost in some upstream queue) More... | |
bool | post (guard_t &guard, const epics::pvData::BitSet &updated) |
post update with changed More... | |
virtual void | onStart () |
virtual void | onStop () |
virtual void | requestUpdate () |
virtual void | destroy () |
virtual void | getStats (Stats &s) const |
![]() | |
POINTER_DEFINITIONS (Monitor) | |
virtual | ~Monitor () |
virtual void | reportRemoteQueueStatus (epics::pvData::int32 freeElements) |
![]() | |
POINTER_DEFINITIONS (Destroyable) | |
Public Attributes | |
weak_pointer | weakself |
epicsMutex & | lock |
Additional Inherited Members | |
![]() | |
virtual | ~Destroyable () |
Helper which implements a Monitor queue. connect()s to a complete copy of a PVStructure. When this struct has changed, post(BitSet) should be called.
Derived class may use onStart(), onStop(), and requestUpdate() to react to subscriber events.
Definition at line 69 of file pvahelper.h.
typedef epicsGuard<epicsMutex> BaseMonitor::guard_t |
Definition at line 78 of file pvahelper.h.
Definition at line 75 of file pvahelper.h.
typedef epicsGuardRelease<epicsMutex> BaseMonitor::unguard_t |
Definition at line 79 of file pvahelper.h.
|
inline |
Definition at line 94 of file pvahelper.h.
|
inlinevirtual |
Definition at line 104 of file pvahelper.h.
|
inline |
Must call before first post(). Sets .complete and calls monitorConnect()
Definition at line 110 of file pvahelper.h.
|
inlinevirtual |
Destroy this instance.
Implements epics::pvAccess::Destroyable.
Reimplemented in PDBGroupMonitor, and PDBSingleMonitor.
Definition at line 273 of file pvahelper.h.
|
inlinevirtual |
|
inline |
Definition at line 106 of file pvahelper.h.
|
inlinevirtual |
Reimplemented in PDBGroupMonitor, and PDBSingleMonitor.
Definition at line 267 of file pvahelper.h.
|
inlinevirtual |
Reimplemented in PDBGroupMonitor, and PDBSingleMonitor.
Definition at line 268 of file pvahelper.h.
BaseMonitor::POINTER_DEFINITIONS | ( | BaseMonitor | ) |
|
inline |
post update if queue not full, if full return false w/o overflow
Definition at line 136 of file pvahelper.h.
|
inline |
post update of pending changes. eg. call from requestUpdate()
Definition at line 159 of file pvahelper.h.
|
inline |
post update with changed and overflowed masks (eg. when updates were lost in some upstream queue)
Definition at line 185 of file pvahelper.h.
|
inline |
post update with changed
Definition at line 217 of file pvahelper.h.
|
inlinevirtual |
called when within release() when the opportunity exists to end the overflow condition May do nothing, or lock and call post()
Reimplemented in PDBGroupMonitor, and PDBSingleMonitor.
Definition at line 271 of file pvahelper.h.
|
inline |
Definition at line 73 of file pvahelper.h.
epicsMutex& BaseMonitor::lock |
Definition at line 77 of file pvahelper.h.
weak_pointer BaseMonitor::weakself |
Definition at line 72 of file pvahelper.h.