68 lines
3.1 KiB
Plaintext
68 lines
3.1 KiB
Plaintext
/**
|
|
* \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::Interface and ns3::InterfaceId
|
|
* - a smart-pointer class ns3::Ptr designed to work together with ns3::Interface
|
|
*
|
|
* 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::INode 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::ISocketFactory, and, ns3::IUdp
|
|
*
|
|
* 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 INode subclass.
|
|
* - and finally, a function used to instantiate nodes
|
|
* which contain this implementation: ns3::MakeInternetNode
|
|
*
|
|
* 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
|
|
*/ |