diff options
Diffstat (limited to 'cpp/src/qpid/broker/Broker.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Broker.cpp | 46 |
1 files changed, 8 insertions, 38 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index fe859b240b..7b5f9e3e32 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -18,60 +18,30 @@ #include <iostream> #include <memory> #include "qpid/broker/Broker.h" -#include "qpid/io/Acceptor.h" -#include "qpid/broker/Configuration.h" -#include "qpid/QpidError.h" -#include "qpid/broker/SessionHandlerFactoryImpl.h" -#include "qpid/io/BlockingAPRAcceptor.h" -#include "qpid/io/LFAcceptor.h" using namespace qpid::broker; using namespace qpid::io; -namespace { - Acceptor* createAcceptor(const Configuration& config){ - const string type(config.getAcceptor()); - if("blocking" == type){ - std::cout << "Using blocking acceptor " << std::endl; - return new BlockingAPRAcceptor(config.isTrace(), config.getConnectionBacklog()); - }else if("non-blocking" == type){ - std::cout << "Using non-blocking acceptor " << std::endl; - return new LFAcceptor(config.isTrace(), - config.getConnectionBacklog(), - config.getWorkerThreads(), - config.getMaxConnections()); - } - throw Configuration::ParseException("Unrecognised acceptor: " + type); - } -} - Broker::Broker(const Configuration& config) : - acceptor(createAcceptor(config)), - port(config.getPort()), - isBound(false) {} + acceptor(new Acceptor(config.getPort(), + config.getConnectionBacklog(), + config.getWorkerThreads())) +{ } + -Broker::shared_ptr Broker::create(int port) +Broker::SharedPtr Broker::create(int16_t port) { Configuration config; config.setPort(port); return create(config); } -Broker::shared_ptr Broker::create(const Configuration& config) { - return Broker::shared_ptr(new Broker(config)); +Broker::SharedPtr Broker::create(const Configuration& config) { + return Broker::SharedPtr(new Broker(config)); } -int16_t Broker::bind() -{ - if (!isBound) { - port = acceptor->bind(port); - } - return port; -} - void Broker::run() { - bind(); acceptor->run(&factory); } |
