This is Unofficial EPICS BASE Doxygen Site
epics::RefMonitor::Impl Struct Reference
+ Inheritance diagram for epics::RefMonitor::Impl:
+ Collaboration diagram for epics::RefMonitor::Impl:

Public Member Functions

 Impl (RefMonitor *owner)
 
virtual ~Impl ()
 
virtual void run ()
 

Public Attributes

RefMonitor & owner
 
epics::auto_ptr< epicsThread > worker
 
epicsMutex lock
 
epicsEvent wakeup
 
RefSnapshot prev
 
bool done
 
double period
 

Detailed Description

Definition at line 155 of file reftrack.cpp.

Constructor & Destructor Documentation

epics::RefMonitor::Impl::Impl ( RefMonitor *  owner)
inline

Definition at line 164 of file reftrack.cpp.

164 :owner(*owner), done(false), period(10.0) {}
virtual epics::RefMonitor::Impl::~Impl ( )
inlinevirtual

Definition at line 165 of file reftrack.cpp.

165 {}

Member Function Documentation

virtual void epics::RefMonitor::Impl::run ( )
inlinevirtual

Definition at line 167 of file reftrack.cpp.

168  {
169  Guard G(lock);
170  while(!done) {
171  RefSnapshot current, P;
172  P = prev; // copy
173  {
174  UnGuard U(G);
175 
176  current.update();
177 
178  owner.show(current-P);
179  }
180 
181  prev.swap(current);
182 
183  {
184  UnGuard U(G);
185  wakeup.wait(period);
186  }
187  }
188  }

Member Data Documentation

bool epics::RefMonitor::Impl::done

Definition at line 162 of file reftrack.cpp.

epicsMutex epics::RefMonitor::Impl::lock

Definition at line 159 of file reftrack.cpp.

RefMonitor& epics::RefMonitor::Impl::owner

Definition at line 157 of file reftrack.cpp.

double epics::RefMonitor::Impl::period

Definition at line 163 of file reftrack.cpp.

RefSnapshot epics::RefMonitor::Impl::prev

Definition at line 161 of file reftrack.cpp.

epicsEvent epics::RefMonitor::Impl::wakeup

Definition at line 160 of file reftrack.cpp.

epics::auto_ptr<epicsThread> epics::RefMonitor::Impl::worker

Definition at line 158 of file reftrack.cpp.


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