doc/main.txt
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 28 Aug 2007 13:14:43 +0200
changeset 1380 799617173a45
parent 756 d9fc71fb459c
child 1389 93f575998efc
child 1736 b967654a135a
permissions -rw-r--r--
api doxygen for Object base class
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
/**
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
 * \mainpage An Introduction to ns-3
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 *
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 * The ns-3 library is split across multiple modules:
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 *     - core: located in src/core and contains a number of facilities which
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 *       do not depend on any other module. Some of these facilities are
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 *       OS-dependent.
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 *     - simulator: located in src/simulator and contains event scheduling
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 *       facilities.
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 *     - common: located in src/common and contains facilities specific
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 *       to network simulations but shared by pretty much every model
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 *       of a network component.
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    13
 *     - node: located in src/node. Defines the abstract interfaces which 
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    14
 *       must be implemented by every node and more specifically, by ipv4 nodes.       
400
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    15
 *     - devices: located in src/devices. Contains a set of MAC-level models
55
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 *
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 * The "core" module contains:
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 *    - a Functor class: ns3::Callback
66
3b04e09ed8a6 fix typo
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 55
diff changeset
    19
 *    - an os-independent interface to get access to the elapsed wall clock time: ns3::SystemWallClockMs
55
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
 *    - a class to register regression tests with the test manager: ns3::Test and ns3::TestManager
398
3b725b90db89 index some new features from the main doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 112
diff changeset
    21
 *    - debugging facilities: \ref debugging, \ref assert, \ref error
3b725b90db89 index some new features from the main doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 112
diff changeset
    22
 *    - \ref randomvariable
538
3cc417842b5f Added/fixed some doxygen
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 461
diff changeset
    23
 *    - \ref config
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    24
 *    - a base class for objects which need to support reference counting 
756
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    25
 *      and QueryInterface: ns3::Object and ns3::InterfaceId
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    26
 *    - a ns3::ComponentManager which can be used to manage the creation
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    27
 *      of any object which derives from ns3::Object through an ns3::ClassId
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    28
 *    - a smart-pointer class ns3::Ptr designed to work together with ns3::Object
55
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
 *
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
 * The "simulator" module contains:
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
 *    - a time management class to hold a time and convert between various time units: ns3::Time
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
 *    - a scheduler base class used to implement new simulation event schedulers: 
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
 *      ns3::Scheduler and ns3::SchedulerFactory
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
 *    - a simulator class used to create, schedule and cancel events: ns3::Simulator
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
 *
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
 * The "common" module contains:
112
abd79142a0e1 remove reference to Chunk
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 94
diff changeset
    37
 *    - a packet class to create and manipulate simulation packets: ns3::Packet, ns3::Header, 
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    38
 *      and ns3::Trailer. This packet class also supports per-packet ns3::Tag which are
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    39
 *      globs of data which can be attached to any packet.
399
073650680cab change doxygen index for tracing
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 398
diff changeset
    40
 *    - a set of low-level trace facilities: \ref lowleveltracing
400
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    41
 *
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    42
 * The "node" module contains:
756
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    43
 *    - a ns3::Node base class which should be subclassed by any new type of
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    44
 *      network Node.
400
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    45
 *    - models which abstract the MAC-layer from the IP layer protocols:
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    46
 *      ns3::NetDevice and ns3::Channel.
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    47
 *    - models which abstract the application-layer API: ns3::Application,
756
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    48
 *      ns3::Socket, ns3::SocketFactory, and, ns3::Udp
640
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    49
 *
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    50
 * The "internet-node" module contains a set of classes which implement the
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    51
 * APIs defined in the "node" module:
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    52
 *    - an Ipv4/Udp stack with socket support
028db47a657f beautify the dox output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 538
diff changeset
    53
 *    - an ARP module
756
d9fc71fb459c fix main dox entry point
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 640
diff changeset
    54
 *    - an InternetNode class which is a Node subclass. 
400
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    55
 *
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    56
 * The "devices" module contains:
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    57
 *    - a PointToPoint MAC device: ns3::PointToPointNetDevice, ns3::PointToPointChannel,
9bf9d452a0a8 add models to doxygen index
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 399
diff changeset
    58
 *      and ns3::PointToPointTopology.
55
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
 */
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
/**
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
 * \namespace ns3
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
 * \brief Every class exported by the ns3 library is enclosed in the
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
 * ns3 namespace.
b811c06c6317 add doxygen framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
 */
94
6aabc116c7c7 add Constants section to doxygen documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 66
diff changeset
    65
/**
416
badb0e35d4c4 fix more dox warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 400
diff changeset
    66
 * \defgroup constants Constants
94
6aabc116c7c7 add Constants section to doxygen documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 66
diff changeset
    67
 * \brief Constants you can change
6aabc116c7c7 add Constants section to doxygen documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 66
diff changeset
    68
 */