doxygen for applications
authorTom Henderson <tomh@tomh.org>
Fri, 13 Jun 2008 06:32:54 -0700
changeset 3264 7824a11c07fa
parent 3263 ef2285c91aeb
child 3265 789dd0f5ca94
doxygen for applications
src/applications/onoff/onoff-application.h
src/applications/packet-sink/packet-sink.h
src/applications/udp-echo/udp-echo-client.h
src/applications/udp-echo/udp-echo-server.h
src/node/application.h
--- a/src/applications/onoff/onoff-application.h	Thu Jun 12 22:21:19 2008 -0700
+++ b/src/applications/onoff/onoff-application.h	Fri Jun 13 06:32:54 2008 -0700
@@ -40,10 +40,25 @@
 class Socket;
 
 /**
+ * \ingroup applications 
+ * \defgroup onoff OnOffApplication
+ *
+ * This traffic generator follows an On/Off pattern: after 
+ * Application::StartApplication
+ * is called, "On" and "Off" states alternate. The duration of each of
+ * these states is determined with the onTime and the offTime random
+ * variables. During the "Off" state, no traffic is generated.
+ * During the "On" state, cbr traffic is generated. This cbr traffic is
+ * characterized by the specified "data rate" and "packet size".
+ */
+ /**
+ * \ingroup onoff
+ *
  * \brief Generate traffic to a single destination according to an
  *        OnOff pattern.
  *
- * This traffic follows an On/Off pattern: after Application::StartApplication
+ * This traffic generator follows an On/Off pattern: after 
+ * Application::StartApplication
  * is called, "On" and "Off" states alternate. The duration of each of
  * these states is determined with the onTime and the offTime random
  * variables. During the "Off" state, no traffic is generated.
--- a/src/applications/packet-sink/packet-sink.h	Thu Jun 12 22:21:19 2008 -0700
+++ b/src/applications/packet-sink/packet-sink.h	Fri Jun 13 06:32:54 2008 -0700
@@ -34,6 +34,21 @@
 class Packet;
 
 /**
+ * \ingroup applications 
+ * \defgroup packetsink PacketSink
+ *
+ * This application was written to complement OnOffApplication, but it
+ * is more general so a PacketSink name was selected.  Functionally it is
+ * important to use in multicast situations, so that reception of the layer-2
+ * multicast frames of interest are enabled, but it is also useful for
+ * unicast as an example of how you can write something simple to receive
+ * packets at the application layer.  Also, if an IP stack generates 
+ * ICMP Port Unreachable errors, receiving applications will be needed.
+ */
+
+/**
+ * \ingroup packetsink
+ *
  * \brief Receive and consume traffic generated to an IP address and port
  *
  * This application was written to complement OnOffApplication, but it
--- a/src/applications/udp-echo/udp-echo-client.h	Thu Jun 12 22:21:19 2008 -0700
+++ b/src/applications/udp-echo/udp-echo-client.h	Fri Jun 13 06:32:54 2008 -0700
@@ -30,6 +30,7 @@
 class Packet;
 
 /**
+ * \ingroup udpecho
  * \brief A Udp Echo client
  *
  * Every packet sent should be returned by the server and received here.
--- a/src/applications/udp-echo/udp-echo-server.h	Thu Jun 12 22:21:19 2008 -0700
+++ b/src/applications/udp-echo/udp-echo-server.h	Fri Jun 13 06:32:54 2008 -0700
@@ -30,6 +30,12 @@
 class Packet;
 
 /**
+ * \ingroup applications 
+ * \defgroup udpecho UdpEcho
+ */
+
+/**
+ * \ingroup udpecho
  * \brief A Udp Echo server
  *
  * Every packet received is sent back.
--- a/src/node/application.h	Thu Jun 12 22:21:19 2008 -0700
+++ b/src/node/application.h	Fri Jun 13 06:32:54 2008 -0700
@@ -33,17 +33,13 @@
 class RandomVariable;
 
 /**
- * \ingroup node
- * \defgroup application Application
- */
-/**
- * \ingroup application
- * \brief The base class for all ns3 applications
+ * \addtogroup applications Applications
+ *
+ * Class ns3::Application can be used as a base class for ns3 applications.
+ * Applications are associated with individual nodes.  Each node
+ * holds a list of references (smart pointers) to its applications.
  * 
- * Class Application is the base class for all ns3 applications.
- * Applications are associated with individual nodes.
- * 
- * Conceptually, an application has zero or more Socket
+ * Conceptually, an application has zero or more ns3::Socket
  * objects associated with it, that are created using the Socket
  * creation API of the Kernel capability.  The Socket object
  * API is modeled after the
@@ -53,6 +49,14 @@
  * in ns3.  A set of "upcalls" are defined that will be called when
  * the previous blocking call would normally exit.  THis is documented
  * in more detail Socket class in socket.h.
+ *
+ * The main purpose of the base class application public API is to  
+ * provide a uniform way to start and stop applications.
+ */
+
+ /**
+ * \brief The base class for all ns3 applications
+ * 
  */
 class Application : public Object
 {