aggregator
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
aggregator::StreamAligner::Stream< T > Class Template Reference

#include <StreamAligner.hpp>

Inherits aggregator::StreamAligner::StreamBase.

Public Types

typedef boost::function< void(const base::Time &ts, const T &value)> callback_t
 

Public Member Functions

 Stream (callback_t callback, size_t bufferSize, base::Time period, int priority, const std::string &name)
 
virtual ~Stream ()
 
bool getNextSample (item &sample) const
 
virtual int getPriority () const
 
virtual const StreamStatusgetBufferStatus () const
 
virtual void copyState (const StreamBase &other)
 
void push (const base::Time &ts, const T &data)
 
base::Time pop ()
 
bool hasData () const
 
base::Time latestTimeStamp () const
 
virtual base::Time latestDataTime () const
 
virtual base::Time earliestDataTime () const
 
virtual void clear ()
 

Protected Types

typedef std::pair< base::Time, T > item
 

Protected Attributes

boost::circular_buffer< itembuffer
 
size_t bufferSize
 
callback_t callback
 
base::Time period
 
base::Time lastTime
 
int priority
 

Member Typedef Documentation

◆ callback_t

template<class T>
typedef boost::function<void (const base::Time &ts, const T &value)> aggregator::StreamAligner::Stream< T >::callback_t

◆ item

template<class T>
typedef std::pair<base::Time,T> aggregator::StreamAligner::Stream< T >::item
protected

Constructor & Destructor Documentation

◆ Stream()

template<class T>
aggregator::StreamAligner::Stream< T >::Stream ( callback_t  callback,
size_t  bufferSize,
base::Time  period,
int  priority,
const std::string &  name 
)
inline

◆ ~Stream()

template<class T>
virtual aggregator::StreamAligner::Stream< T >::~Stream ( )
inlinevirtual

Member Function Documentation

◆ clear()

template<class T>
virtual void aggregator::StreamAligner::Stream< T >::clear ( )
inlinevirtual

◆ copyState()

template<class T>
virtual void aggregator::StreamAligner::Stream< T >::copyState ( const StreamBase &  other)
inlinevirtual

◆ earliestDataTime()

template<class T>
virtual base::Time aggregator::StreamAligner::Stream< T >::earliestDataTime ( ) const
inlinevirtual

◆ getBufferStatus()

template<class T>
virtual const StreamStatus& aggregator::StreamAligner::Stream< T >::getBufferStatus ( ) const
inlinevirtual

◆ getNextSample()

template<class T>
bool aggregator::StreamAligner::Stream< T >::getNextSample ( item sample) const
inline

◆ getPriority()

template<class T>
virtual int aggregator::StreamAligner::Stream< T >::getPriority ( ) const
inlinevirtual

◆ hasData()

template<class T>
bool aggregator::StreamAligner::Stream< T >::hasData ( ) const
inline

◆ latestDataTime()

template<class T>
virtual base::Time aggregator::StreamAligner::Stream< T >::latestDataTime ( ) const
inlinevirtual

◆ latestTimeStamp()

template<class T>
base::Time aggregator::StreamAligner::Stream< T >::latestTimeStamp ( ) const
inline

◆ pop()

template<class T>
base::Time aggregator::StreamAligner::Stream< T >::pop ( )
inline

take the last item of the stream queue and call the callback

◆ push()

template<class T>
void aggregator::StreamAligner::Stream< T >::push ( const base::Time &  ts,
const T &  data 
)
inline

Member Data Documentation

◆ buffer

template<class T>
boost::circular_buffer<item> aggregator::StreamAligner::Stream< T >::buffer
protected

◆ bufferSize

template<class T>
size_t aggregator::StreamAligner::Stream< T >::bufferSize
protected

◆ callback

template<class T>
callback_t aggregator::StreamAligner::Stream< T >::callback
protected

◆ lastTime

template<class T>
base::Time aggregator::StreamAligner::Stream< T >::lastTime
protected

◆ period

template<class T>
base::Time aggregator::StreamAligner::Stream< T >::period
protected

◆ priority

template<class T>
int aggregator::StreamAligner::Stream< T >::priority
protected

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