Merge common socket code
diff --git a/common/network/TcpSocket.h b/common/network/TcpSocket.h
index 87d8e69..eb6c095 100644
--- a/common/network/TcpSocket.h
+++ b/common/network/TcpSocket.h
@@ -48,35 +48,33 @@
/* Tunnelling support. */
int findFreeTcpPort (void);
+ int getSockPort(int sock);
+
class TcpSocket : public Socket {
public:
TcpSocket(int sock);
TcpSocket(const char *name, int port);
- virtual ~TcpSocket();
virtual char* getPeerAddress();
virtual char* getPeerEndpoint();
- virtual void shutdown();
virtual bool cork(bool enable);
- static bool enableNagles(int sock, bool enable);
- static bool isListening(int sock);
- static int getSockPort(int sock);
+ protected:
+ bool enableNagles(bool enable);
};
class TcpListener : public SocketListener {
public:
TcpListener(const struct sockaddr *listenaddr, socklen_t listenaddrlen);
TcpListener(int sock);
- virtual ~TcpListener();
-
- virtual void shutdown();
- virtual Socket* accept();
virtual int getMyPort();
static void getMyAddresses(std::list<char*>* result);
+
+ protected:
+ virtual Socket* createSocket(int fd);
};
void createLocalTcpListeners(std::list<SocketListener*> *listeners,