00001 #ifndef _sys_Acceptor_h
00002 #define _sys_Acceptor_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <stdint.h>
00026 #include "qpid/SharedObject.h"
00027 #include "ConnectionCodec.h"
00028
00029 namespace qpid {
00030 namespace sys {
00031
00032 class Acceptor : public qpid::SharedObject<Acceptor>
00033 {
00034 public:
00035 static Acceptor::shared_ptr create(int16_t port, int backlog, int threads);
00036 virtual ~Acceptor() = 0;
00037 virtual uint16_t getPort() const = 0;
00038 virtual std::string getHost() const = 0;
00039 virtual void run(ConnectionCodec::Factory*) = 0;
00040 virtual void connect(
00041 const std::string& host, int16_t port, ConnectionCodec::Factory* codec) = 0;
00042
00044 virtual void shutdown() = 0;
00045 };
00046
00047 inline Acceptor::~Acceptor() {}
00048
00049 }}
00050
00051
00052
00053 #endif