EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | List of all members
RepeatFilter Class Reference

A filter to combine successive matching samples into a 'repeat count'. More...

#include <RepeatFilter.h>

Inheritance diagram for RepeatFilter:
ProcessVariableFilter ProcessVariableListener ProcessVariableStateListener ProcessVariableValueListener

Public Member Functions

 RepeatFilter (const EngineConfig &config, ProcessVariable &pv, ProcessVariableListener *listener)
 Create new filter, using config for max. More...
 
virtual ~RepeatFilter ()
 
void stop ()
 It's suggested to stop the filter when sampling stops, since this flushes accumulated repeats.
 
void pvConnected (ProcessVariable &pv, const epicsTime &when)
 React to connection, then pass on to listener. More...
 
void pvDisconnected (ProcessVariable &pv, const epicsTime &when)
 React to disconnect, then pass on to listener. More...
 
void pvValue (ProcessVariable &pv, const RawValue::Data *data)
 React to new value and filter it. More...
 
void update (const epicsTime &now)
 SampleMechanismMonitoredGet uses this to trigger repeat counts in case the ProcessVariableListener does not receive anything because the PV simply doesn't change.
 
- Public Member Functions inherited from ProcessVariableFilter
 ProcessVariableFilter (ProcessVariableListener *listener)
 Create a PV filter which passes filtered events on to the provided listener.
 
- Public Member Functions inherited from ProcessVariableStateListener
virtual ~ProcessVariableStateListener ()
 Constructor.
 

Detailed Description

A filter to combine successive matching samples into a 'repeat count'.

Used in two ways: Simply driven by a periodic 'get' on the PV, which results in a periodic pvValue() event. Or driven by a subscription to the PV, which results in unpredictable pvValue() events. So in addition, update() is called periodically, allowing the filter to add repeat counts in the absence of PV events.

Constructor & Destructor Documentation

RepeatFilter::RepeatFilter ( const EngineConfig config,
ProcessVariable pv,
ProcessVariableListener listener 
)

Create new filter, using config for max.

repeat count.

virtual RepeatFilter::~RepeatFilter ( )
virtual
See Also
flushRepeats()

Member Function Documentation

void RepeatFilter::pvConnected ( ProcessVariable pv,
const epicsTime &  when 
)
virtual

React to connection, then pass on to listener.

See Also
ProcessVariableListener

Reimplemented from ProcessVariableFilter.

void RepeatFilter::pvDisconnected ( ProcessVariable pv,
const epicsTime &  when 
)
virtual

React to disconnect, then pass on to listener.

See Also
ProcessVariableListener

Reimplemented from ProcessVariableFilter.

void RepeatFilter::pvValue ( ProcessVariable pv,
const RawValue::Data data 
)
virtual

React to new value and filter it.

Might invoke listener with the value, another value, or not at all.

See Also
ProcessVariableListener

Reimplemented from ProcessVariableFilter.


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