34 #include "ns3/core-module.h" 35 #include "ns3/network-module.h" 36 #include "ns3/csma-module.h" 37 #include "ns3/applications-module.h" 38 #include "ns3/internet-apps-module.h" 39 #include "ns3/internet-module.h" 53 main (
int argc,
char *argv[])
58 uint32_t dataRate = 10;
60 cmd.AddValue (
"dataRate",
"application dataRate (Kb/s)", dataRate);
61 cmd.Parse (argc, argv);
84 ip.
SetBase (
"192.168.1.0",
"255.255.255.0");
92 onoff.SetConstantRate (
DataRate (dataRate*1000));
101 apps =
sink.Install (c.
Get (3));
107 csma.EnablePcapAll (
"csma-raw-ip-socket",
false);
holds a vector of ns3::Application pointers.
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Hold variables of type string.
static void Run(void)
Run the simulation.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
aggregate IP/TCP/UDP functionality to existing Nodes.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
A helper to make it easier to instantiate an ns3::PacketSinkApplication on a set of nodes...
A helper to make it easier to instantiate an ns3::OnOffApplication on a set of nodes.
a polymophic address class
Class for representing data rates.
void LogComponentEnable(char const *name, enum LogLevel level)
Enable the logging output associated with that log component.
static void SinkRx(Ptr< const Packet > p, const Address &ad)
static void EnablePrinting(void)
Enable printing packets metadata.
AttributeValue implementation for Time.
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
Hold an unsigned integer type.
holds a vector of ns3::NetDevice pointers
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
void ConnectWithoutContext(std::string path, const CallbackBase &cb)
void Start(Time start)
Arrange for all of the Applications in this container to Start() at the Time given as a parameter...
Parse command-line arguments.
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
Every class exported by the ns3 library is enclosed in the ns3 namespace.
keep track of a set of node pointers.
build a set of CsmaNetDevice objects
void Install(std::string nodeName) const
Aggregate implementations of the ns3::Ipv4, ns3::Ipv6, ns3::Udp, and ns3::Tcp classes onto the provid...
void Stop(Time stop)
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter...
Ipv4InterfaceContainer Assign(const NetDeviceContainer &c)
Assign IP addresses to the net devices specified in the container based on the current network prefix...
AttributeValue implementation for DataRate.
Time Seconds(double value)
Construct a Time in the indicated unit.
void SetDefault(std::string name, const AttributeValue &value)
Ptr< Node > Get(uint32_t i) const
Get the Ptr<Node> stored in this container at a given index.
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
void SetBase(Ipv4Address network, Ipv4Mask mask, Ipv4Address base="0.0.0.1")
Set the base network number, network mask and base address.