Add doclib/fix-links.py to temporarily fix/remove bad doxygen links
[senf.git] / PPI / Mainpage.dox
index 90012b3..5ed72b9 100644 (file)
@@ -20,9 +20,8 @@
 
 /** \mainpage libPPI : The Packet Processing Infrastructure
 
-    The PPI provides an infrastructure to create packet oriented network processin
-    applications. A PPI application is built by combining processing modules in a very flexible
-    manner.
+    The PPI provides an infrastructure to create packet oriented network processing applications. A
+    PPI application is built by combining processing modules in a very flexible manner.
 
     \image html scenario.png Target Scenario
     
     performance optimizations for TCP traffic (PEP). This router is built by combining several
     modules.
 
+    \see \ref overview \n
+        <a href="../../../Examples/RateStuffer/doc/html/index.html">PPI Example Application:
+        RateStuffer</a> \n
+        \ref senf::ppi::module "Modules" \n
+        \ref senf::ppi::connector "Connectors" \n
+        \ref event_group
+ */
+
+/** \page overview PPI Overview and Concepts
+
     \section design Design considerations
 
     The PPI interface is designed to be as simple as possible. It provides sane defaults for all
     configurable parameters to simplify getting started. It also automates all resource
-    management. Especially to simplify resource management, the PPI will take many configuration
-    objects by value. Even though this is not as efficient, it frees the user from most resource
-    management chores. This decision does not affect the runtime performance since it only affects
-    the configuration step.
+    management. The throttling infrastructure handles blocking conditions (like input exhaustion)
+    automatically 
 
     \section packets Packets
 
 
     \section connections Connections
 
+    \image html ratestuffer.png Simple RateStuffer
+
     To make use of the modules, they have to be instantiated and connections have to be created
     between the I/O connectors. It is possible to connect any pair of input/output connectors as
     long as one of them is active and the other is passive.
     up. The buffering on the udpInput <-> rateStuffer adaptor is changed so the queue will begin to
     throttle only if more than 10 packets are in the queue. The connection will be unthrottled as
     soon as there are no more than 5 packets left in the queue. This application will read
-    udp-packts coming in on port 1111 and will forward them to port 2222 on host 2.3.4.5 with a
+    udp-packets coming in on port 1111 and will forward them to port 2222 on host 2.3.4.5 with a
     fixed rate of 10 packets / second.
 
     \section throttling Throttling
     by the template argument.
 
     We register an IOSignaler event. This event will be signaled whenever the socket is
-    readable. This event is routet to the output. This routing automates throttling for the socket:
+    readable. This event is routed to the output. This routing automates throttling for the socket:
     Whenever the output receives a throttle notifications, the event will be temporarily disabled.
 
     Processing arriving packets happens in the \c data() member: This member simple reads a packet
     route statement as defining the 'conceptual data flow' since this is also how control messages
     should flow (sans the direction, which is defined by the connectors active/passive property).
 
-    \see \ref ppi_implementation \n
-        <a href="http://openfacts.berlios.de/index-en.phtml?title=SENF:_Packet_Processing_Infrastructure">Implementation plan</a>
+    \see \ref ppi_implementation
  */
 
-/** \page ppi_implementation Implementation Overview
+/** \page ppi_implementation Implementation Notes
     
     \section processing Data Processing
 
     handler has finished processing. Forward throttling notifications are not generated
     automatically within the connector. However, the Passive-Passive adaptor will generate
     Forward-throttling notifications whenever the input queue is empty.
+
+    \section class_diagram Class Diagram
+
+    \image html classes.png
  */
 
 \f
 // mode: auto-fill
 // End:
 
-//  LocalWords:  callbacks