Define cork() as pure virtual in Socket class

This makes it possible to create a derived class from Socket which is
not TCP based, without having VNCSConnectionST.cxx trying to call
setsockopt() on a non-socket.
diff --git a/common/network/Socket.h b/common/network/Socket.h
index 874a59c..7a30cac 100644
--- a/common/network/Socket.h
+++ b/common/network/Socket.h
@@ -50,6 +50,7 @@
     // if shutdown() is overridden then the override MUST call on to here
     virtual void shutdown() {isShutdown_ = true;}
     bool isShutdown() const {return isShutdown_;}
+    virtual bool cork(bool enable) = 0;
 
     // information about this end of the socket
     virtual int getMyPort() = 0;
diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
index cf03c10..9603c38 100644
--- a/common/network/TcpSocket.cxx
+++ b/common/network/TcpSocket.cxx
@@ -349,12 +349,12 @@
   return true;
 }
 
-bool TcpSocket::cork(int sock, bool enable) {
+bool TcpSocket::cork(bool enable) {
 #ifndef TCP_CORK
   return false;
 #else
   int one = enable ? 1 : 0;
-  if (setsockopt(sock, IPPROTO_TCP, TCP_CORK, (char *)&one, sizeof(one)) < 0)
+  if (setsockopt(getFd(), IPPROTO_TCP, TCP_CORK, (char *)&one, sizeof(one)) < 0)
     return false;
   return true;
 #endif
diff --git a/common/network/TcpSocket.h b/common/network/TcpSocket.h
index a97e683..c1b142f 100644
--- a/common/network/TcpSocket.h
+++ b/common/network/TcpSocket.h
@@ -62,9 +62,9 @@
     virtual bool sameMachine();
 
     virtual void shutdown();
+    virtual bool cork(bool enable);
 
     static bool enableNagles(int sock, bool enable);
-    static bool cork(int sock, bool enable);
     static bool isListening(int sock);
     static int getSockPort(int sock);
   private: