Socket: Ignore ECONNREFUSED on write to datagram socket
[senf.git] / PPI / Mainpage.dox
index 2020f02..f84ded6 100644 (file)
@@ -20,9 +20,8 @@
 
 /** \mainpage libPPI : The Packet Processing Infrastructure
 
-    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.
+    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
 
     \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.
     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
+
+    \fixme Implement Spliters: PassiveSplitter, PrioritySplitter, CloneSplitter
+    \fixme Implement DiscardSink, CloneSource
+    \fixme Implement ThrottleBarrier
  */
 
 \f
 // mode: auto-fill
 // End:
 
-//  LocalWords:  callbacks