Documentation: fixed links to boost.org
[senf.git] / Examples / Sniffer / Mainpage.dox
index ea3fc29..3f88daf 100644 (file)
@@ -46,8 +46,8 @@
     \until #include <senf/Scheduler/Scheduler.hh>
 
     The example includes two implementations, one using blocking calls and a while loop, the other
-    using the senf::Scheduler for asynchronous event notification. They are implemented in 
-    \c loop_main() and \c scheduler_main(). They will be documented below. For now, we skip these 
+    using the senf::Scheduler for asynchronous event notification. They are implemented in
+    \c loop_main() and \c scheduler_main(). They will be documented below. For now, we skip these
     implementations and go straight to the \c main() function
 
     \skip int main(
@@ -73,7 +73,7 @@
     backtrace of the exception origin in the debugger.
 
     We now create a packet socket and bind it to the interface given as second command line argument.
-    A packet socket is a linux specific type of socket which returns ethernet packets directly from 
+    A packet socket is a linux specific type of socket which returns ethernet packets directly from
     the network wire. By uncommenting the last line, you may switch the interface into promiscuous mode.
 
     \until //
@@ -88,7 +88,7 @@
     \until sock.read
 
     \doc the following section is obsolete!
-    
+
     Lets digest this line step by step: We declare a variable named \c packet as a smart pointer to
     an \c EthernetPacket instance. \c ptr is a typedef member of all Packet classes for the
     corresponding smart pointer type. We then initialize this pointer with a call to the static \c
 
     \until }
 
-    The class constructor binds the socket defined as a data member to the correct interface.
-
-    \until add
-
-    The public \c run() member is called to run the sniffer.  It first adds the socket to the
-    Scheduler. The \c add() call takes two Arguments, the socket to bind to (which can be a lot of
-    things and must not necessarily be a socket instance) and callback to call, whenever there is an
-    event on that socket. A third argument may be specified to restrict the events, on which the
-    function is called, here we have left out this argument which defaults to
-    senf::Scheduler::EV_ALL.
+    The class constructor binds the socket defined as a data member to the correct interface. To
+    tell the scheduler to call us back whenever data is available on the socket, we add a
+    senf::scheduler::FdEvent isntance to out class.
 
-    The callback is specified as a <a
-    href="http://www.boost.org/doc/html/function.html">Boost.Function</a> object. We use the \c
-    senf::membind helper from the Utils library to build such a function object. This helper takes
-    an arbitrary class member and binds it to a specific instance.
+    The senf::scheduler::FdEvent constructor takes several arguments:
+    \li a string describing the event.
+    \li the callback to call whenever the event occurs.  The callback is specified as a <a
+        href="http://www.boost.org/doc/libs/release/doc/html/function.html">Boost.Function</a>
+        object. We use the \c senf::membind helper from the Utils library to build such a
+        function object. This helper takes an arbitrary class member and binds it to a specific 
+        instance.
+    \li the handle or file descriptor to monitor.
+    \li and the events to watch for.
 
     \until }
 
-    Calling the Schedulers \c process() method will start the event loop. This call does not return
-    (ok, it does return in special cases if \c senf::Scheduler::terminate() is called which does not
-    apply here).
+    The public \c run() member is called to run the sniffer.  Here we just forward the call to the
+    scheduler. Calling the Schedulers \c process() method will start the event loop. This call does
+    not return (ok, it does return in special cases if \c senf::scheduler::terminate() is called
+    which does not apply here).
 
     \until {
 
     The \c dumpPacket() member is called by the scheduler whenever an event on the socket is
-    encountered. The scheduler always passes two arguments: The socket and an event id which
-    identifies the type of event which triggered the call.
+    encountered. The scheduler calls this function with a mask of the events which triggered the
+    call.
 
     \until };
 
 // c-file-style: "senf"
 // indent-tabs-mode: nil
 // ispell-local-dictionary: "american"
-// compile-command: "scons -u test"
+// compile-command: "scons -u doc"
 // mode: flyspell
 // mode: auto-fill
 // End: