15#include "ns3/config.h"
18#include "ns3/object.h"
19#include "ns3/trace-source-accessor.h"
33 .SetGroupName(
"Stats")
35 .AddTraceSource(
"Output",
36 "The double valued (units of seconds) probe output",
38 "ns3::TracedValueCallback::Double");
72 NS_ASSERT_MSG(probe,
"Error: Can't find probe for path " << path);
73 probe->SetValue(newVal);
82 obj->TraceConnectWithoutContext(traceSource,
91 NS_LOG_DEBUG(
"Name of trace source to search for in config database: " << path);
static Ptr< T > Find(std::string path)
Given a name path string, look to see if there's an object in the system with that associated to it.
static std::string FindPath(Ptr< Object > object)
Given a pointer to an object, look to see if that object has a name associated with it and return the...
bool IsEnabled() const override
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
TimeWithUnit As(const Unit unit=Time::AUTO) const
Attach a unit to a Time, to facilitate output in a specific unit.
double GetSeconds() const
Get an approximation of the time stored in this instance in the indicated unit.
This class is designed to probe an underlying ns3 TraceSource exporting an ns3::Time.
static TypeId GetTypeId()
Get the type ID.
bool ConnectByObject(std::string traceSource, Ptr< Object > obj) override
connect to a trace source attribute provided by a given object
void SetValue(Time value)
TracedValue< double > m_output
Output trace source.
void TraceSink(Time oldData, Time newData)
Method to connect to an underlying ns3::TraceSource of type Time.
void ConnectByPath(std::string path) override
connect to a trace source provided by a config path
static void SetValueByPath(std::string path, Time value)
Set a probe value by its name in the Config system.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
void ConnectWithoutContext(std::string path, const CallbackBase &cb)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Callback< R, Args... > MakeCallback(R(T::*memPtr)(Args...), OBJ objPtr)
Build Callbacks for class method members which take varying numbers of arguments and potentially retu...