27 #include "ns3/core-module.h"
28 #include "ns3/double-probe.h"
41 static TypeId GetTypeId (
void);
44 void DoInitialize (
void);
61 .AddTraceSource (
"Counter",
64 "ns3::TracedValue::DoubleCallback")
73 m_var = CreateObject<ExponentialRandomVariable> ();
106 NS_LOG_DEBUG (
"context: " << context <<
" old " << oldVal <<
" new " << newVal);
113 NS_LOG_DEBUG (
"context: " << context <<
" old " << oldVal <<
" new " << newVal);
116 int main (
int argc,
char *argv[])
119 cmd.
Parse (argc, argv);
144 probe1->
SetName (
"ObjectProbe");
148 NS_ASSERT_MSG (connected,
"Trace source not connected to probe1");
154 NS_ASSERT_MSG (connected,
"Trace source not connected to probe1 Output");
172 NS_ASSERT_MSG (connected,
"Trace source not connected to probe2 Output");
179 probe3->
SetName (
"StaticallyAccessedProbe");
187 NS_ASSERT_MSG (connected,
"Trace source not connected to probe3 Output");
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
TypeId AddConstructor(void)
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
std::string GetName(void) const
Get the object's name.
void NotifyViaProbe(std::string context, double oldVal, double newVal)
static void Run(void)
Run the simulation.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
TracedValue< double > m_counter
static EventId Schedule(Time const &time, MEM mem_ptr, OBJ obj)
Schedule an event to expire at the relative time "time" is reached.
static TypeId GetTypeId(void)
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
static void Add(std::string name, Ptr< Object > object)
Add the association between the string "name" and the Ptr
virtual void ConnectByPath(std::string path)
connect to a trace source provided by a config path
Ptr< ExponentialRandomVariable > m_var
static void SetValueByPath(std::string path, double value)
Set a probe value by its name in the Config system.
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
Parse command-line arguments.
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
void DoInitialize(void)
Initialize() implementation.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static Time Now(void)
Return the current simulation virtual time.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
virtual bool ConnectByObject(std::string traceSource, Ptr< Object > obj)
connect to a trace source attribute provided by a given object
static void Stop(void)
Tell the Simulator the calling event should be the last one executed.
void SetName(std::string name)
Set the object's name. All spaces are replaced by underscores.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Time Seconds(double value)
Construct a Time in the indicated unit.
void Initialize(void)
Invoke DoInitialize on all Objects aggregated to this one.
bool TraceConnect(std::string name, std::string context, const CallbackBase &cb)
Connect a TraceSource to a Callback with a context.
void NotifyViaTraceSource(std::string context, double oldVal, double newVal)
void Parse(int argc, char *argv[])
Parse the program arguments.
A base class which provides memory management and object aggregation.
a unique identifier for an interface.