X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FMainpage.dox;h=99d25a8e2649609db5cf04b43e244b87dc9639bb;hb=eb89ea10c8c11d2ef12239cb037c958dec50f006;hp=8f4a8a860f614f65a747945b93f38763dd7cfb31;hpb=d04ae6002c7fa6eccaa2acdfb49b16cccdb81845;p=senf.git
diff --git a/PPI/Mainpage.dox b/PPI/Mainpage.dox
index 8f4a8a8..99d25a8 100644
--- a/PPI/Mainpage.dox
+++ b/PPI/Mainpage.dox
@@ -53,20 +53,7 @@
/** \page ppi_overview PPI Overview and Concepts
-
-
Contents
-
- - \ref ppi_design
- - \ref ppi_packets
- - \ref ppi_modules
- - \ref ppi_connectors
- - \ref ppi_connections
- - \ref ppi_throttling
- - \ref ppi_events
- - \ref ppi_run
- - \ref ppi_flows
-
-
+ \autotoc
\section ppi_design Design considerations
@@ -229,8 +216,12 @@
It is possible to connect two active or passive connectors with each other using a special
adaptor module (senf::ppi::module::PassiveQueue or senf::ppi::module::ActiveFeeder
respectively).
+
+ Additionally, the connectors must be type-compatible: Either one (or both) of the connectors
+ must be untyped (they accept arbitrary senf::Packet's, the optional tempalte argument is empty),
+ or they both accept the same type of packet. This check is performed at runtime.
- To complete our simplified example: Lets connet senf::ppi::module::ActiveSocketReader and
+ To complete our simplified example: Lets connect senf::ppi::module::ActiveSocketReader and
senf::ppi::module::PassiveSocketWriter to our example module:
\code
@@ -240,10 +231,10 @@
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;
@@ -474,7 +465,28 @@
\section ppi_classdiagram Class Diagram
- \image html classes.png
+
+ \ref senf::ppi::connector::PassiveConnector
+ \ref senf::ppi::EventManager
+ \ref senf::ppi::connector::ActiveOutput
+ \ref senf::ppi::connector::ActiveInput
+ \ref senf::ppi::RouteBase
+ \ref senf::ppi::Route
+ \ref (some module)
+ \ref senf::ppi::EventImplementation
+ \ref senf::ppi::module::Module
+ \ref senf::ppi::connector::Connector
+ \ref senf::ppi::connector::PassiveOutput
+ \ref senf::ppi::detail::EventBindingBase
+ \ref senf::ppi::connector::InputConnector
+ \ref senf::ppi::detail::RouteImplementation
+ \ref senf::ppi::connector::OutputConnector
+ \ref senf::ppi::connector::ActiveConnector
+ \ref senf::ppi::detail::EventBinding
+ \ref senf::ppi::EventDescriptor
+ \ref senf::ppi::connector::PassiveInput
+
+ \htmlonly
\endhtmlonly
*/