doclib: Add helper script to build image map from dia files
[senf.git] / PPI / Mainpage.dox
index f4d8be7..17aa545 100644 (file)
 
 /** \page ppi_overview PPI Overview and Concepts
 
-    <div class="toc">
-    <div>Contents</div>
-    <ol>
-    <li>\ref ppi_design</li>
-    <li>\ref ppi_packets</li>
-    <li>\ref ppi_modules</li>
-    <li>\ref ppi_connectors</li>
-    <li>\ref ppi_connections</li>
-    <li>\ref ppi_throttling</li>
-    <li>\ref ppi_events</li>
-    <li>\ref ppi_run</li>
-    <li>\ref ppi_flows</li>
-    </ol>
-    </div>
+    \autotoc
 
     \section ppi_design Design considerations
 
@@ -78,8 +65,9 @@
     \section ppi_packets Packets
 
     The PPI processes packets and uses the <a href="@TOPDIR@/Packets/doc/html/index.html">Packet
-    library</a> to handle them. All packets are passed around as generic \ref senf::Packet
-    references, the PPI does not enforce any packet type restrictions.
+    library</a> to handle them. All packets are internally passed around as generic \ref
+    senf::Packet references, however connectors may optionally be defined as sending or receiving
+    packets of a specific type only.
 
     \section ppi_modules Modules
 
     To provide this flexibility, all input connectors incorporate a packet queue. This queue is
     exposed to the module and allows the module to optionally process packets in batches.
 
+    Connectors take an optional template argument which allows to specify the type of packet this
+    connector sends or received. This template arguments defaults to \ref senf::Packet.
+
     \see \ref senf::ppi::connector
 
     \section ppi_connections Connections
       CopyPacketGenerator generator (stuffingPacket);
 
       senf::UDPv4ClientSocketHandle inputSocket (1111);
-      senf::ppi::module::ActiveSocketReader udpInput (inputSocket);
+      senf::ppi::module::ActiveSocketSource<> udpInput (inputSocket);
 
       senf::UDPv4ClientSocketHandle outputSocket ("2.3.4.5:2222");
-      senf::ppi::module::PassiveSocketWriter udpOutput (outputSocket);
+      senf::ppi::module::PassiveSocketSink<> udpOutput (outputSocket);
 
       senf::ppi::module::PassiveQueue adaptor;
 
 
     \section ppi_classdiagram Class Diagram
 
-    \image html classes.png
+    <div class="diamap" name="classes">
+    <span coords="652,428,796,455">\ref senf::ppi::connector::PassiveConnector</span>
+    <span coords="198,381,316,408">\ref senf::ppi::EventManager</span>
+    <span coords="462,543,571,570">\ref senf::ppi::connector::ActiveOutput</span>
+    <span coords="468,494,564,521">\ref senf::ppi::connector::ActiveInput</span>
+    <span coords="414,36,505,63">\ref senf::ppi::RouteBase</span>
+    <span coords="432,325,529,379">\ref senf::ppi::Route</span>
+    <span coords="194,154,319,181">\ref (some module)</span>
+    <span coords="19,293,252,333">\ref senf::ppi::EventImplementation</span>
+    <span coords="225,36,289,63">\ref senf::ppi::module::Module</span>
+    <span coords="309,331,397,358">\ref senf::ppi::connector::Connector</span>
+    <span coords="597,543,717,570">\ref senf::ppi::connector::PassiveOutput</span>
+    <span coords="66,432,210,459">\ref senf::ppi::detail::EventBindingBase</span>
+    <span coords="378,428,505,455">\ref senf::ppi::connector::InputConnector</span>
+    <span coords="491,124,694,210">\ref senf::ppi::RouteImplementation</span>
+    <span coords="283,464,423,491">\ref senf::ppi::connector::OutputConnector</span>
+    <span coords="512,428,645,455">\ref senf::ppi::connector::ActiveConnector</span>
+    <span coords="85,487,259,527">\ref senf::ppi::detail::EventBinding</span>
+    <span coords="39,216,170,243">\ref senf::ppi::EventDescriptor</span>
+    <span coords="604,494,710,521">\ref senf::ppi::connector::PassiveInput</span>
+    </div>
+    \htmlonly <img src="classes.png" border="0" alt="classes" usemap="#classes"> \endhtmlonly
  */