doc/main.txt
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 06 Nov 2007 16:16:18 +0100
changeset 2084 24cfc21bda99
parent 1742 cf76416ce75b
child 1813 673ba601eb5a
permissions -rw-r--r--
use the holland set of modes.

/**
 * \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 set of low-level trace facilities integrated in the ns3::Object system: \ref tracing
 *    - 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 "core" 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.
 *
 * 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
 */