blob: 827491db4bfb9fd5c218d7faf6b49065eafda4c6 [file] [log] [blame]
Marc Slemko35452342006-08-03 19:01:37 +00001#ifndef T_THREADPOOL_SERVER_H
2#define T_THREADPOOL_SERVER_H
3
Marc Slemko16698852006-08-04 03:16:10 +00004#include <concurrency/ThreadManager.h>
5#include <server/TServer.h>
6#include <transport/TServerTransport.h>
7
8#include <boost/shared_ptr.hpp>
Marc Slemko35452342006-08-03 19:01:37 +00009
10namespace facebook { namespace thrift { namespace server {
Marc Slemko16698852006-08-04 03:16:10 +000011
12using namespace facebook::thrift::concurrency;
13using namespace facebook::thrift::transport;
14using namespace boost;
15
16class TThreadPoolServer : public TServer {
17public:
18
19 class Task;
20
21 TThreadPoolServer(shared_ptr<TProcessor> processor,
22 shared_ptr<TServerOptions> options,
23 shared_ptr<TServerTransport> serverTransport,
24 shared_ptr<ThreadManager> threadManager);
25
26 virtual ~TThreadPoolServer();
27
28 virtual void run();
29
30protected:
31
32 shared_ptr<TServerTransport> serverTransport_;
33 shared_ptr<ThreadManager> threadManager_;
34
35};
36
Marc Slemko35452342006-08-03 19:01:37 +000037}}} // facebook::thrift::server
38
39#endif