// 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////////////////////////////////////////
// Local Variables:
// mode: c++
// c-file-style: "senf"
+// fill-column: 100
// End: