/** * \mainpage An Introduction to ns-3 * * The ns-3 library is split across multiple modules: * - core: located in src/core and contains a number of facilities which * do not depend on any other module. Some of these facilities are * OS-dependent. * - simulator: located in src/simulator and contains event scheduling * facilities. * - common: located in src/common and contains facilities specific * to network simulations but shared by pretty much every model * of a network component. * - node: located in src/node. Defines the abstract interfaces which * must be implemented by every node and more specifically, by ipv4 nodes. * - devices: located in src/devices. Contains a set of MAC-level models * * The "core" module contains: * - a Functor class: ns3::Callback * - an os-independent interface to get access to the elapsed wall clock time: ns3::SystemWallClockMs * - a class to register regression tests with the test manager: ns3::Test and ns3::TestManager * - debugging facilities: \ref debugging, \ref assert, \ref error * - \ref randomvariable * - \ref config * - a base class for objects which need to support reference counting * and QueryInterface: ns3::Object and ns3::InterfaceId * - a ns3::ComponentManager which can be used to manage the creation * of any object which derives from ns3::Object through an ns3::ClassId * - a smart-pointer class ns3::Ptr designed to work together with ns3::Object * * The "simulator" module contains: * - a time management class to hold a time and convert between various time units: ns3::Time * - a scheduler base class used to implement new simulation event schedulers: * ns3::Scheduler and ns3::SchedulerFactory * - a simulator class used to create, schedule and cancel events: ns3::Simulator * * The "common" module contains: * - a packet class to create and manipulate simulation packets: ns3::Packet, ns3::Header, * and ns3::Trailer. This packet class also supports per-packet ns3::Tag which are * globs of data which can be attached to any packet. * - a set of low-level trace facilities: \ref lowleveltracing * * The "node" module contains: * - a ns3::Node base class which should be subclassed by any new type of * network Node. * - models which abstract the MAC-layer from the IP layer protocols: * ns3::NetDevice and ns3::Channel. * - models which abstract the application-layer API: ns3::Application, * ns3::Socket, ns3::SocketFactory, and, ns3::Udp * * The "internet-node" module contains a set of classes which implement the * APIs defined in the "node" module: * - an Ipv4/Udp stack with socket support * - an ARP module * - an InternetNode class which is a Node subclass. * * The "devices" module contains: * - a PointToPoint MAC device: ns3::PointToPointNetDevice, ns3::PointToPointChannel, * and ns3::PointToPointTopology. */ /** * \namespace ns3 * \brief Every class exported by the ns3 library is enclosed in the * ns3 namespace. */ /** * \defgroup constants Constants * \brief Constants you can change */