summaryrefslogtreecommitdiff
path: root/cpp/lib/broker/Broker.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-01-30 23:25:56 +0000
committerAlan Conway <aconway@apache.org>2007-01-30 23:25:56 +0000
commit90c5a913d9b394d02797037e991d63530fb75669 (patch)
tree03b6ae9365c28ab0709730e570fcde49e5fa3a94 /cpp/lib/broker/Broker.cpp
parent6599f4a99d600656276b1f9b0ee8c0e803d523d1 (diff)
downloadqpid-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.cpp24
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);