Main Page | Modules | Class Hierarchy | Class List | Directories | Class Members | Related Pages | Examples

DurationAttribute Class Reference

Attribute to measure the duration of an agggregate in seconds. More...

#include <DurationAttribute.h>

Inheritance diagram for DurationAttribute:

ScalarAttribute< Timeval > Attribute FilteredPacketListener PacketListener List of all members.

Public Member Functions

 DurationAttribute (const PacketFilter &filter)
 DurationAttribute (const DurationAttribute &toCopy)
virtual DurationAttributeclone (void) const
virtual DurationAttributeoperator= (const DurationAttribute &rhs)
virtual void handlePassedPacket (TraceIterator &packet)
 Notify the attribute of a new packet to be included in the computation.
virtual void compute (void)
 Compute the value of the attribute.
virtual Timeval getValue (void) const
 get the value of the primary attribute
 ScalarAttribute (void)
 ScalarAttribute (const ScalarAttribute< Timeval > &toCopy)
 ScalarAttribute (const PacketFilter &filter)
virtual std::string toString (void) const
 get a string representation of the Attribute
int getType (void)
virtual const AttributegetAttrib (const std::string &ident) const throw ( UnknownAttributeException )
 Get a subattribute of this attribute.
virtual void linkToAggregate (Aggregate &parent)
 Notify the Attribute that it is being linked to a particular aggregate.
virtual void reset (void) throw ( NotResettableException )
 Reset the value of the attribute.
virtual void handlePacket (TraceIterator &newPkt)

Static Public Attributes

static const int TYPE_UNKNOWN = 0
static const int TYPE_SCALAR = 1
static const int TYPE_DISTRIB = 17
static const int TYPE_HISTOGRAM = 25
static const int TYPE_ARRAY = 33
static const int TYPE_SET = 34

Protected Attributes

Aggregateaggr
int attribType
bool dirty

Friends

std::ostream & operator<< (std::ostream &os, const Attribute &attrib)

Detailed Description

Attribute to measure the duration of an agggregate in seconds.

Todo:
Generalize to a RangeAttribute
Examples:

profile_streams_thesis.cc.


Member Function Documentation

void DurationAttribute::compute void   )  [virtual]
 

Compute the value of the attribute.

Used to update an offline attribute.

Reimplemented from Attribute.

void FilteredPacketListener::handlePacket TraceIterator newPkt  )  [virtual, inherited]
 

checks the packet against the filter and calls handlePassedPacket if it passes or if the filter is NULL

Implements PacketListener.

void DurationAttribute::handlePassedPacket TraceIterator packet  )  [virtual]
 

Notify the attribute of a new packet to be included in the computation.

For an online attribute, update the attribute. For an offline attribute, set the dirty bit. (default)

Reimplemented from Attribute.

void Attribute::linkToAggregate Aggregate parent  )  [virtual, inherited]
 

Notify the Attribute that it is being linked to a particular aggregate.

Parameters:
parent New parent aggregate - will supplant any previous parent
Note:
If an Attribute subclass is only intended for use with a particular subtype of aggregate, override this method and add type checking. e.g.: Trace *trace = dynamic_cast<Trace*>(parent); if( NULL != trace ) {...} else throw InvalidAggregateException(...);

Reimplemented in ArithmeticAttribute< lType, rType, resType >, and SumAttribute< T >.

void Attribute::reset void   )  throw ( NotResettableException ) [virtual, inherited]
 

Reset the value of the attribute.

Exceptions:
NotResettableException if the Attribute cannot be properly reset, e.g. if it is a wrapper for a subattribute.

Reimplemented in SumAttribute< T >.


Member Data Documentation

const int Attribute::TYPE_ARRAY = 33 [static, inherited]
 

array

const int Attribute::TYPE_DISTRIB = 17 [static, inherited]
 

statistical distribution

const int Attribute::TYPE_HISTOGRAM = 25 [static, inherited]
 

histogram

const int Attribute::TYPE_SCALAR = 1 [static, inherited]
 

single-valued type

const int Attribute::TYPE_SET = 34 [static, inherited]
 

set

const int Attribute::TYPE_UNKNOWN = 0 [static, inherited]
 

unknown type


The documentation for this class was generated from the following files:
Generated on Thu Apr 5 01:02:37 2007 for ANTARES by  doxygen 1.4.2