add monitor buffer statistics

to help answer the question of why no monitorEvent()s
are happening.
This commit is contained in:
Michael Davidsaver
2016-02-05 12:28:59 -05:00
parent cc91e22038
commit c0b69e4e6f

View File

@@ -80,6 +80,16 @@ class epicsShareClass Monitor : public Destroyable{
* @param monitorElement
*/
virtual void release(MonitorElementPtr const & monitorElement) = 0;
struct Stats {
size_t nfilled; //!< # of elements ready to be poll()d
size_t noutstanding; //!< # of elements poll()d but not released()d
size_t nempty; //!< # of elements available for new remote data
};
virtual void getStats(Stats& s) const {
s.nfilled = s.noutstanding = s.nempty = 0;
}
};