diff options
author | Alan Conway <aconway@apache.org> | 2007-01-30 23:25:56 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-01-30 23:25:56 +0000 |
commit | 90c5a913d9b394d02797037e991d63530fb75669 (patch) | |
tree | 03b6ae9365c28ab0709730e570fcde49e5fa3a94 /cpp/lib/broker/Broker.cpp | |
parent | 6599f4a99d600656276b1f9b0ee8c0e803d523d1 (diff) | |
download | qpid-python-90c5a913d9b394d02797037e991d63530fb75669.tar.gz |
* cpp/lib/broker/Broker.cpp: Defer creation of acceptor till needed so
InProcessBroker will not listen on any port.
* cpp/lib/broker/BrokerAdapter,Connection.cpp,.h: Encapsulate public data
members.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@501638 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib/broker/Broker.cpp')
-rw-r--r-- | cpp/lib/broker/Broker.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/cpp/lib/broker/Broker.cpp b/cpp/lib/broker/Broker.cpp index b9e7990861..d3d68502f1 100644 --- a/cpp/lib/broker/Broker.cpp +++ b/cpp/lib/broker/Broker.cpp @@ -45,11 +45,8 @@ const std::string amq_topic("amq.topic"); const std::string amq_fanout("amq.fanout"); const std::string amq_match("amq.match"); -Broker::Broker(const Configuration& config) : - acceptor(Acceptor::create(config.getPort(), - config.getConnectionBacklog(), - config.getWorkerThreads(), - config.isTrace())), +Broker::Broker(const Configuration& conf) : + config(conf), queues(store.get()), timeout(30000), stagingThreshold(0), @@ -89,17 +86,30 @@ Broker::shared_ptr Broker::create(const Configuration& config) { } void Broker::run() { - acceptor->run(&factory); + getAcceptor().run(&factory); } void Broker::shutdown() { - acceptor->shutdown(); + getAcceptor().shutdown(); } Broker::~Broker() { shutdown(); } +int16_t Broker::getPort() const { return getAcceptor().getPort(); } + +Acceptor& Broker::getAcceptor() const { + if (!acceptor) + const_cast<Acceptor::shared_ptr&>(acceptor) = + Acceptor::create(config.getPort(), + config.getConnectionBacklog(), + config.getWorkerThreads(), + config.isTrace()); + return *acceptor; +} + + const int16_t Broker::DEFAULT_PORT(5672); |