PPI: Add TargetDgramWriter
[senf.git] / Socket / Protocols / INet / TCPSocketProtocol.hh
index 2fb2b3e..cca471e 100644 (file)
     \brief TCPSocketProtocol public header
  */
 
-#ifndef HH_TCPSocketProtocol_
-#define HH_TCPSocketProtocol_ 1
+#ifndef HH_SENF_Socket_Protocols_INet_TCPSocketProtocol_
+#define HH_SENF_Socket_Protocols_INet_TCPSocketProtocol_ 1
 
 // Custom includes
 #include "../../../Socket/SocketProtocol.hh"
+#include "INetSocketProtocol.hh"
 
 //#include "TCPSocketProtocol.mpp"
 ///////////////////////////////hh.p////////////////////////////////////////
@@ -44,7 +45,7 @@ namespace senf {
         which are available on any TCP socket.
      */
     class TCPSocketProtocol
-        : public virtual SocketProtocol
+        : public virtual INetSocketProtocol
     {
     public:
         bool nodelay() const;           ///< Check current \c SO_NODELAY status
@@ -59,9 +60,13 @@ namespace senf {
         unsigned siocinq() const;       ///< Return current size of the input queue
         unsigned siocoutq() const;      ///< Return current size of the output queue
 
+        enum ShutType { ShutRD, ShutWR, ShutRDWR };
+        void shutdown(ShutType type) const;
+
         ///\name Abstract Interface Implementation
         ///@{
 
+        void close();
         unsigned available() const;
         bool eof() const;