25 #include "ns3/olsr-helper.h"
26 #include "ns3/ipv4-list-routing-helper.h"
27 #include "ns3/olsr-routing-protocol.h"
28 #include "ns3/internet-stack-helper.h"
30 #include "ns3/double.h"
31 #include "ns3/uinteger.h"
32 #include "ns3/string.h"
33 #include "ns3/boolean.h"
34 #include "ns3/ipv4-address-helper.h"
35 #include "ns3/ipv4-interface-container.h"
36 #include "ns3/internet-stack-helper.h"
37 #include "ns3/rng-seed-manager.h"
38 #include "ns3/simple-net-device-helper.h"
39 #include "ns3/simple-net-device.h"
40 #include "ns3/icmpv4.h"
50 m_time (
Seconds (200.0)), m_seq (0), m_recvCount (0)
94 addressAdhoc.
SetBase (
"10.1.1.0",
"255.255.255.0");
96 adhocInterfaces = addressAdhoc.
Assign (nd);
130 echo.SetIdentifier (0);
133 echo.SetData (dataPacket);
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
static Ipv4Address GetAny(void)
Smart pointer class similar to boost::intrusive_ptr.
NetDeviceContainer Install(Ptr< Node > node) const
This method creates an ns3::SimpleChannel with the attributes configured by SimpleNetDeviceHelper::Se...
holds a vector of std::pair of Ptr and interface index.
Hold variables of type string.
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr stored in this container at a given index.
static bool ChecksumEnabled(void)
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
void SetChannelAttribute(std::string n1, const AttributeValue &v1)
static void Run(void)
Run the simulation.
void Receive(Ptr< Socket > socket)
Receive echo reply.
int64_t AssignStreams(NodeContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
aggregate IP/TCP/UDP functionality to existing Nodes.
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
Helper class that adds OLSR routing to nodes.
static void SetRun(uint64_t run)
Set the run number of simulation.
a polymophic address class
const Time m_time
Total simulation time.
static EventId Schedule(Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event to expire after delay.
Hold an unsigned integer type.
holds a vector of ns3::NetDevice pointers
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
void SetRecvCallback(Callback< void, Ptr< Socket > >)
Notify application when new data is available to be read.
static Ptr< Socket > CreateSocket(Ptr< Node > node, TypeId tid)
This method wraps the creation of sockets that is performed on a given node by a SocketFactory specif...
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
virtual int Connect(const Address &address)=0
Initiate a connection to a remote host.
virtual int Bind(const Address &address)=0
Allocate a local endpoint for this socket.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static InetSocketAddress ConvertFrom(const Address &address)
Returns an InetSocketAddress which corresponds to the input Address.
keep track of a set of node pointers.
Introspection did not find any typical Config paths.
void Install(std::string nodeName) const
Aggregate implementations of the ns3::Ipv4, ns3::Ipv6, ns3::Udp, and ns3::Tcp classes onto the provid...
static Time Now(void)
Return the current simulation virtual time.
uint16_t m_seq
Sequence number.
static void SetSeed(uint32_t seed)
Set the seed.
Ipv4InterfaceContainer Assign(const NetDeviceContainer &c)
Assign IP addresses to the net devices specified in the container based on the current network prefix...
void SendPing()
Send one ping.
static void Stop(void)
Tell the Simulator the calling event should be the last one executed.
Ptr< Node > Get(uint32_t i) const
Get the Ptr stored in this container at a given index.
void SetSequenceNumber(uint16_t seq)
Set the Echo sequence number.
Time Seconds(double value)
Construct a Time in the indicated unit.
uint16_t m_recvCount
Received ECHO Reply counter.
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
uint16_t GetPort(void) const
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
Ptr< Socket > m_socket
Socket.
virtual Ptr< Packet > RecvFrom(uint32_t maxSize, uint32_t flags, Address &fromAddress)=0
Read a single packet from the socket and retrieve the sender address.
build a set of SimpleNetDevice objects
virtual int Send(Ptr< Packet > p, uint32_t flags)=0
Send data (or dummy data) to the remote host.
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.
void SetRoutingHelper(const Ipv4RoutingHelper &routing)
static bool IsMatchingType(const Address &address)
virtual void BlackList(Ptr< SimpleNetDevice > from, Ptr< SimpleNetDevice > to)
Blocks the communications from a NetDevice to another NetDevice.
void AddHeader(const Header &header)
Add header to this packet.
void CreateNodes()
Create & configure test network.
void SetBase(Ipv4Address network, Ipv4Mask mask, Ipv4Address base="0.0.0.1")
Set the base network number, network mask and base address.
static TypeId LookupByName(std::string name)
Get a TypeId by name.
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
virtual uint32_t GetRxAvailable(void) const =0
Return number of bytes which can be returned from one or multiple calls to Recv.