A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::DoubleProbe Class Reference

This class is designed to probe an underlying ns3 TraceSource exporting a double. More...

#include <double-probe.h>

+ Inheritance diagram for ns3::DoubleProbe:
+ Collaboration diagram for ns3::DoubleProbe:

Public Member Functions

 DoubleProbe ()
 
virtual ~DoubleProbe ()
 
virtual bool ConnectByObject (std::string traceSource, Ptr< Object > obj)
 connect to a trace source attribute provided by a given object More...
 
virtual void ConnectByPath (std::string path)
 connect to a trace source provided by a config path More...
 
double GetValue (void) const
 
void SetValue (double value)
 
- Public Member Functions inherited from ns3::Probe
 Probe ()
 
virtual ~Probe ()
 
virtual bool IsEnabled (void) const
 
- Public Member Functions inherited from ns3::DataCollectionObject
 DataCollectionObject ()
 
virtual ~DataCollectionObject ()
 
void Disable (void)
 Unset the status of an individual object. More...
 
void Enable (void)
 Set the status of an individual object. More...
 
std::string GetName (void) const
 Get the object's name. More...
 
void SetName (std::string name)
 Set the object's name. All spaces are replaced by underscores. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID. More...
 
static void SetValueByPath (std::string path, double value)
 Set a probe value by its name in the Config system. More...
 
- Static Public Member Functions inherited from ns3::Probe
static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::DataCollectionObject
static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

void TraceSink (double oldData, double newData)
 Method to connect to an underlying ns3::TraceSource of type double. More...
 

Private Attributes

TracedValue< double > m_output
 Output trace source. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 
- Protected Attributes inherited from ns3::Probe
Time m_start
 Time when logging starts. More...
 
Time m_stop
 Time when logging stops. More...
 
- Protected Attributes inherited from ns3::DataCollectionObject
bool m_enabled
 Object's activation state. More...
 
std::string m_name
 Name of the object within the data collection framework. More...
 

Detailed Description

This class is designed to probe an underlying ns3 TraceSource exporting a double.

Doxygen introspection did not find any typical Config paths.

This probe exports a trace source "Output" of type double. The Output trace source emits a value when either the trace source emits a new value, or when SetValue () is called.

The current value of the probe can be polled with the GetValue () method.


No Attributes are defined for this type.

TraceSources

  • Output: The double that serves as output for this probe

Definition at line 47 of file double-probe.h.

Constructor & Destructor Documentation

ns3::DoubleProbe::DoubleProbe ( )

Definition at line 50 of file double-probe.cc.

References m_output, and NS_LOG_FUNCTION.

ns3::DoubleProbe::~DoubleProbe ( )
virtual

Definition at line 56 of file double-probe.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

bool ns3::DoubleProbe::ConnectByObject ( std::string  traceSource,
Ptr< Object obj 
)
virtual

connect to a trace source attribute provided by a given object

Parameters
traceSourcethe name of the attribute TraceSource to connect to
objns3::Object to connect to
Returns
true if the trace source was successfully connected

Implements ns3::Probe.

Definition at line 84 of file double-probe.cc.

References ns3::Names::FindPath(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::ObjectBase::TraceConnectWithoutContext(), and TraceSink().

Referenced by ProbeTestCase1::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::DoubleProbe::ConnectByPath ( std::string  path)
virtual

connect to a trace source provided by a config path

Parameters
pathConfig path to bind to

Note, if an invalid path is provided, the probe will not be connected to anything.

Implements ns3::Probe.

Definition at line 93 of file double-probe.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and TraceSink().

Referenced by ProbeTestCase1::DoRun(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TypeId ns3::DoubleProbe::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 38 of file double-probe.cc.

References m_output, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

double ns3::DoubleProbe::GetValue ( void  ) const
Returns
the most recent value

Definition at line 62 of file double-probe.cc.

References m_output, and NS_LOG_FUNCTION.

void ns3::DoubleProbe::SetValue ( double  value)
Parameters
valueset the traced double to a new value

Definition at line 68 of file double-probe.cc.

References m_output, and NS_LOG_FUNCTION.

void ns3::DoubleProbe::SetValueByPath ( std::string  path,
double  value 
)
static

Set a probe value by its name in the Config system.

Parameters
pathConfig path to access the probe
valueset the traced double to a new value

Definition at line 75 of file double-probe.cc.

References NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by Emitter::Count().

+ Here is the caller graph for this function:

void ns3::DoubleProbe::TraceSink ( double  oldData,
double  newData 
)
private

Method to connect to an underlying ns3::TraceSource of type double.

Parameters
oldDataprevious value of the double
newDatanew value of the double

Definition at line 101 of file double-probe.cc.

References ns3::Probe::IsEnabled(), m_output, and NS_LOG_FUNCTION.

Referenced by ConnectByObject(), and ConnectByPath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

TracedValue<double> ns3::DoubleProbe::m_output
private

Output trace source.

Definition at line 104 of file double-probe.h.

Referenced by DoubleProbe(), GetTypeId(), GetValue(), SetValue(), and TraceSink().


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