18#include "ns3/command-line.h"
19#include "ns3/config.h"
20#include "ns3/global-value.h"
22#include "ns3/nstime.h"
24#include "ns3/realtime-simulator-impl.h"
25#include "ns3/simulator.h"
26#include "ns3/string.h"
48bool gFirstRun =
false;
84FakeNetDevice::FakeNetDevice()
93 std::this_thread::sleep_for(std::chrono::seconds(1));
100 Simulator::ScheduleWithContext(Simulator::NO_CONTEXT,
103 std::this_thread::sleep_for(std::chrono::milliseconds(1));
119 GlobalValue::Bind(
"SimulatorImplementationType",
StringValue(
"ns3::RealtimeSimulatorImpl"));
126 Simulator::ScheduleWithContext(0xffffffff,
Seconds(0.0),
MakeEvent(&first_function));
131 for (
double d = 0.; d < 14.999; d += 0.01)
133 Simulator::Schedule(
Seconds(d), &background_function);
136 std::thread st3 = std::thread(&FakeNetDevice::Doit3, &fnd);
138 Simulator::Stop(
Seconds(15.0));
146 Simulator::Destroy();
152main(
int argc,
char* argv[])
155 cmd.Parse(argc, argv);
Parse command-line arguments.
Hold variables of type string.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_LOG_UNCOND(msg)
Output the requested message unconditionally.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
EventImpl * MakeEvent(void(*f)())
Make an EventImpl from a function pointer taking varying numbers of arguments.
Time Now()
create an ns3::Time instance which contains the current simulation time.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.