diff options
Diffstat (limited to 'cpp/src/qpid/sys')
| -rw-r--r-- | cpp/src/qpid/sys/Acceptor.h | 5 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/AsynchIOAcceptor.cpp | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/cpp/src/qpid/sys/Acceptor.h b/cpp/src/qpid/sys/Acceptor.h index 7ff03e0eeb..5eb1f1a500 100644 --- a/cpp/src/qpid/sys/Acceptor.h +++ b/cpp/src/qpid/sys/Acceptor.h @@ -29,6 +29,7 @@ namespace qpid { namespace sys { class ConnectionInputHandlerFactory; +class ConnectionInputHandler; class Acceptor : public qpid::SharedObject<Acceptor> { @@ -38,7 +39,9 @@ class Acceptor : public qpid::SharedObject<Acceptor> virtual uint16_t getPort() const = 0; virtual std::string getHost() const = 0; virtual void run(ConnectionInputHandlerFactory* factory) = 0; - virtual void connect(const std::string& host, int16_t port, ConnectionInputHandlerFactory* factory) = 0; + virtual ConnectionInputHandler* connect( + const std::string& host, int16_t port, + ConnectionInputHandlerFactory* factory) = 0; /** Note: this function is async-signal safe */ virtual void shutdown() = 0; diff --git a/cpp/src/qpid/sys/AsynchIOAcceptor.cpp b/cpp/src/qpid/sys/AsynchIOAcceptor.cpp index 9fd32add72..0586eb9d36 100644 --- a/cpp/src/qpid/sys/AsynchIOAcceptor.cpp +++ b/cpp/src/qpid/sys/AsynchIOAcceptor.cpp @@ -54,7 +54,10 @@ class AsynchIOAcceptor : public Acceptor { AsynchIOAcceptor(int16_t port, int backlog, int threads); ~AsynchIOAcceptor() {} void run(ConnectionInputHandlerFactory* factory); - void connect(const std::string& host, int16_t port, ConnectionInputHandlerFactory* factory); + ConnectionInputHandler* connect( + const std::string& host, int16_t port, + ConnectionInputHandlerFactory* factory); + void shutdown(); uint16_t getPort() const; @@ -188,7 +191,7 @@ void AsynchIOAcceptor::run(ConnectionInputHandlerFactory* fact) { } } -void AsynchIOAcceptor::connect(const std::string& host, int16_t port, ConnectionInputHandlerFactory* f) +ConnectionInputHandler* AsynchIOAcceptor::connect(const std::string& host, int16_t port, ConnectionInputHandlerFactory* f) { Socket* socket = new Socket();//Should be deleted by handle when socket closes socket->connect(host, port); @@ -209,7 +212,7 @@ void AsynchIOAcceptor::connect(const std::string& host, int16_t port, Connection aio->queueReadBuffer(new Buff); } aio->start(poller); - + return handler; } |
