blob: ca30a03452273c7ed71733982a14efc6a206c922 [file] [log] [blame]
Mark Sleee8540632006-05-30 09:24:40 +00001#ifndef T_SERVER_SOCKET_H
2#define T_SERVER_SOCKET_H
3
4#include "transport/TServerTransport.h"
5
6class TSocket;
7
8/**
9 * Server socket implementation of TServerTransport. Wrapper around a unix
10 * socket listen and accept calls.
11 *
12 * @author Mark Slee <mcslee@facebook.com>
13 */
14class TServerSocket : public TServerTransport {
15 public:
16 TServerSocket(int port);
17 ~TServerSocket();
18
Mark Slee8d7e1f62006-06-07 06:48:56 +000019 void listen();
Mark Sleee8540632006-05-30 09:24:40 +000020 void close();
21
Mark Slee8d7e1f62006-06-07 06:48:56 +000022 protected:
23 TTransport* acceptImpl();
24
Mark Sleee8540632006-05-30 09:24:40 +000025 private:
Mark Slee8d7e1f62006-06-07 06:48:56 +000026
Mark Sleee8540632006-05-30 09:24:40 +000027 int port_;
28 int serverSocket_;
29 int acceptBacklog_;
30};
31
32#endif