pva2pva 1.4.2
Loading...
Searching...
No Matches
PDBSingleMonitor Struct Reference
Inheritance diagram for PDBSingleMonitor:
Collaboration diagram for PDBSingleMonitor:

Public Member Functions

 POINTER_DEFINITIONS (PDBSingleMonitor)
 PDBSingleMonitor (const PDBSinglePV::shared_pointer &pv, const requester_t::shared_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq)
virtual void onStart () OVERRIDE FINAL
virtual void onStop () OVERRIDE FINAL
virtual void requestUpdate () OVERRIDE FINAL
virtual void destroy () OVERRIDE FINAL
Public Member Functions inherited from BaseMonitor
 POINTER_DEFINITIONS (BaseMonitor)
shared_pointer shared_from_this ()
 BaseMonitor (epicsMutex &lock, const requester_t::weak_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq)
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
bool post (guard_t &guard)
 post update of pending changes. eg. call from requestUpdate()
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)
bool post (guard_t &guard, const epics::pvData::BitSet &updated)
 post update with changed
virtual void getStats (Stats &s) const

Public Attributes

const PDBSinglePV::shared_pointer pv
Public Attributes inherited from BaseMonitor
weak_pointer weakself
epicsMutex & lock

Static Public Attributes

static size_t num_instances

Additional Inherited Members

Public Types inherited from BaseMonitor
typedef epics::pvAccess::MonitorRequester requester_t
typedef epicsGuard< epicsMutex > guard_t
typedef epicsGuardRelease< epicsMutex > unguard_t

Detailed Description

Definition at line 138 of file pdbsingle.h.

Constructor & Destructor Documentation

◆ PDBSingleMonitor()

PDBSingleMonitor::PDBSingleMonitor ( const PDBSinglePV::shared_pointer & pv,
const requester_t::shared_pointer & requester,
const epics::pvData::PVStructure::shared_pointer & pvReq )

Definition at line 453 of file pdbsingle.cpp.

456 :BaseMonitor(pv->lock, requester, pvReq)
457 ,pv(pv)
458{
459 epics::atomic::increment(num_instances);
460}

◆ ~PDBSingleMonitor()

PDBSingleMonitor::~PDBSingleMonitor ( )
virtual

Definition at line 462 of file pdbsingle.cpp.

463{
464 destroy();
465 epics::atomic::decrement(num_instances);
466}

Member Function Documentation

◆ destroy()

void PDBSingleMonitor::destroy ( )
virtual

Reimplemented from BaseMonitor.

Definition at line 468 of file pdbsingle.cpp.

469{
470 BaseMonitor::destroy();
471}

◆ onStart()

void PDBSingleMonitor::onStart ( )
virtual

Reimplemented from BaseMonitor.

Definition at line 473 of file pdbsingle.cpp.

474{
475 pv->addMonitor(this);
476}

◆ onStop()

void PDBSingleMonitor::onStop ( )
virtual

Reimplemented from BaseMonitor.

Definition at line 478 of file pdbsingle.cpp.

479{
480 guard_t G(pv->lock);
481
482 pv->removeMonitor(this);
483}

◆ requestUpdate()

void PDBSingleMonitor::requestUpdate ( )
virtual

called when within release() when the opportunity exists to end the overflow condition May do nothing, or lock and call post()

Reimplemented from BaseMonitor.

Definition at line 485 of file pdbsingle.cpp.

486{
487 guard_t G(pv->lock);
488 post(G);
489}
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
Definition pvahelper.h:136

Member Data Documentation

◆ num_instances

size_t PDBSingleMonitor::num_instances
static

Definition at line 144 of file pdbsingle.h.

◆ pv

const PDBSinglePV::shared_pointer PDBSingleMonitor::pv

Definition at line 142 of file pdbsingle.h.


The documentation for this struct was generated from the following files: