moved Sniffer into new Examples directory
[senf.git] / Socket / TCPProtocol.hh
index 3dba9e2..9048e3e 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2006 
+// Copyright (C) 2006
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
 // Free Software Foundation, Inc.,
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
+/** \file
+    \brief TCPProtocol public header
+ */
+
 #ifndef HH_TCPProtocol_
 #define HH_TCPProtocol_ 1
 
 
 namespace senf {
 
+    /// \addtogroup protocol_facets_group
+    /// @{
+
+    /** \brief Protocol facat to support TCP operations
 
+        This protocol facet provides all those protocol functions,
+        which are available on any TCP socket.
+     */
     class TCPProtocol
         : public virtual SocketProtocol
     {
     public:
-        bool nodelay() const;
-        void nodelay(bool value) const;
+        bool nodelay() const;           ///< Check current \c SO_NODELAY status
+        void nodelay(bool value) const; ///< Set \c SO_NODELAY status
+                                        /**< Enabling \c SO_NODELAY will disable the NAGLE
+                                             algorithm (which aggregates multiple writes into a
+                                             single network packet). Enabling nodelay() optimizes
+                                             the repsonse time at the expense of the bandwidth
+                                             efficiency.
+                                             \param[in] value \c SO_NODELAY state */
+
+        unsigned siocinq() const;       ///< Return current size of the input queue
+        unsigned siocoutq() const;      ///< Return current size of the output queue
+
+        ///\name Abstract Interface Implementation
+        ///@{
 
-        unsigned siocinq() const;
-        unsigned siocoutq() const;
         unsigned available() const;
         bool eof() const;
+
+        ///@}
     };
 
+    /// @}
 }
 
 ///////////////////////////////hh.e////////////////////////////////////////
@@ -56,5 +80,8 @@ namespace senf {
 \f
 // Local Variables:
 // mode: c++
+// fill-column: 100
 // c-file-style: "senf"
+// indent-tabs-mode: nil
+// ispell-local-dictionary: "american"
 // End: