diff --git a/common/network/UnixSocket.h b/common/network/UnixSocket.h
index 30eda78..48c5b63 100644
--- a/common/network/UnixSocket.h
+++ b/common/network/UnixSocket.h
@@ -35,28 +35,20 @@
 
   class UnixSocket : public Socket {
   public:
-    UnixSocket(int sock, bool close=true);
+    UnixSocket(int sock);
     UnixSocket(const char *name);
     virtual ~UnixSocket();
 
-    virtual int getMyPort();
-
     virtual char* getPeerAddress();
-    virtual int getPeerPort();
     virtual char* getPeerEndpoint();
-    virtual bool sameMachine();
 
     virtual void shutdown();
     virtual bool cork(bool enable);
-
-  private:
-    bool closeFd;
   };
 
   class UnixListener : public SocketListener {
   public:
     UnixListener(const char *listenaddr, int mode);
-    UnixListener(int sock);
     virtual ~UnixListener();
 
     virtual void shutdown();
