doc/main.txt
author Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
Thu, 17 May 2007 18:22:10 +0100
changeset 649 1d12fb509a0d
parent 640 028db47a657f
child 756 d9fc71fb459c
permissions -rw-r--r--
WAF: import the WAF subprocess replacement module 'pproc', to make it work on Python 2.3.

/**
 * \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
 */