summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2014-07-01 19:12:38 +0000
committerAndrew Stitcher <astitcher@apache.org>2014-07-01 19:12:38 +0000
commitc1ed3d54c1132c2810e907d87ecec7f5491b118b (patch)
tree54f088a87c705374737f477a4160853b352dcbd4
parentb2bd2715e9b15271fb051e594f8bd141cf4b073a (diff)
downloadqpid-python-c1ed3d54c1132c2810e907d87ecec7f5491b118b.tar.gz
QPID-3921: Refactored Broker::Options into its own independent class
- Now called BrokerOptions - Added extra getters to Broker so that nothing else needs to know about BrokerOptions - Significantly reduces header coupling as lots of files include Broker.h, but now don't need Options.h git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1607166 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.cpp86
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.h86
-rw-r--r--qpid/cpp/src/qpid/broker/BrokerOptions.h86
-rw-r--r--qpid/cpp/src/qpid/broker/ConnectionHandler.cpp5
-rw-r--r--qpid/cpp/src/qpid/broker/Link.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/LinkRegistry.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/Queue.cpp8
-rw-r--r--qpid/cpp/src/qpid/broker/QueueFactory.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp10
-rw-r--r--qpid/cpp/src/qpid/broker/SemanticState.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/SessionAdapter.cpp4
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp8
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Session.cpp4
-rw-r--r--qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp2
-rw-r--r--qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp9
-rw-r--r--qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp3
-rw-r--r--qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp11
-rw-r--r--qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp4
-rw-r--r--qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp17
-rw-r--r--qpid/cpp/src/qpid/ha/HaBroker.cpp2
-rw-r--r--qpid/cpp/src/qpid/ha/StatusCheck.cpp2
-rw-r--r--qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp3
-rw-r--r--qpid/cpp/src/qpid/sys/SslPlugin.cpp13
-rw-r--r--qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp10
-rw-r--r--qpid/cpp/src/qpidd.h4
-rw-r--r--qpid/cpp/src/tests/BrokerFixture.h22
-rw-r--r--qpid/cpp/src/tests/ClientSessionTest.cpp6
-rw-r--r--qpid/cpp/src/tests/MessagingFixture.h2
-rw-r--r--qpid/cpp/src/tests/MessagingSessionTests.cpp4
29 files changed, 265 insertions, 154 deletions
diff --git a/qpid/cpp/src/qpid/broker/Broker.cpp b/qpid/cpp/src/qpid/broker/Broker.cpp
index 7bb93fc1c4..b981a6d0fe 100644
--- a/qpid/cpp/src/qpid/broker/Broker.cpp
+++ b/qpid/cpp/src/qpid/broker/Broker.cpp
@@ -22,6 +22,7 @@
#include "qpid/broker/Broker.h"
#include "qpid/broker/AclModule.h"
+#include "qpid/broker/BrokerOptions.h"
#include "qpid/broker/Connection.h"
#include "qpid/broker/DirectExchange.h"
#include "qpid/broker/FanOutExchange.h"
@@ -119,7 +120,7 @@ const std::string amq_match("amq.match");
const std::string qpid_management("qpid.management");
const std::string knownHostsNone("none");
-Broker::Options::Options(const std::string& name) :
+BrokerOptions::BrokerOptions(const std::string& name) :
qpid::Options(name),
noDataDir(0),
port(DEFAULT_PORT),
@@ -208,25 +209,25 @@ framing::FieldTable noReplicateArgs() {
}
}
-Broker::Broker(const Broker::Options& conf) :
+Broker::Broker(const BrokerOptions& conf) :
poller(new Poller),
timer(new qpid::sys::Timer),
config(conf),
managementAgent(conf.enableMgmt ? new ManagementAgent(conf.qmf1Support,
conf.qmf2Support)
: 0),
- disabledListeningTransports(config.listenDisabled.begin(), config.listenDisabled.end()),
+ disabledListeningTransports(conf.listenDisabled.begin(), conf.listenDisabled.end()),
store(new NullMessageStore),
acl(0),
dataDir(conf.noDataDir ? std::string() : conf.dataDir),
pagingDir(!conf.pagingDir.empty() ? conf.pagingDir :
- dataDir.isEnabled() ? dataDir.getPath() + Options::DEFAULT_PAGED_QUEUE_DIR :
+ dataDir.isEnabled() ? dataDir.getPath() + BrokerOptions::DEFAULT_PAGED_QUEUE_DIR :
std::string() ),
queues(this),
exchanges(this),
links(this),
factory(new SecureConnectionFactory(*this)),
- dtxManager(*timer.get(), getOptions().dtxDefaultTimeout),
+ dtxManager(*timer.get(), conf.dtxDefaultTimeout),
sessionManager(
qpid::SessionState::Configuration(
conf.replayFlushLimit*1024, // convert kb to bytes.
@@ -234,6 +235,7 @@ Broker::Broker(const Broker::Options& conf) :
*this),
queueCleaner(queues, poller, timer.get()),
recoveryInProgress(false),
+ timestampRcvMsgs(conf.timestampRcvMsgs),
getKnownBrokers(boost::bind(&Broker::getKnownBrokersImpl, this))
{
if (!dataDir.isEnabled()) {
@@ -400,15 +402,79 @@ void Broker::declareStandardExchange(const std::string& name, const std::string&
}
}
+bool Broker::isAuthenticating() const
+{
+ return config.auth;
+}
+
+bool Broker::requireEncrypted() const
+{
+ return config.requireEncrypted;
+}
+
+std::string Broker::getRealm() const
+{
+ return config.realm;
+}
+
+bool Broker::getTcpNoDelay() const
+{
+ return config.tcpNoDelay;
+}
+
+uint32_t Broker::getMaxNegotiateTime() const
+{
+ return config.maxNegotiateTime;
+}
+
+uint16_t Broker::getPortOption() const
+{
+ return config.port;
+}
+
+const std::vector<std::string>& Broker::getListenInterfaces() const
+{
+ return config.listenInterfaces;
+}
+
+int Broker::getConnectionBacklog() const
+{
+ return config.connectionBacklog;
+}
+
+sys::Duration Broker::getLinkMaintenanceInterval() const
+{
+ return config.linkMaintenanceInterval;
+}
+
+sys::Duration Broker::getLinkHeartbeatInterval() const
+{
+ return config.linkHeartbeatInterval;
+}
+
+uint32_t Broker::getDtxMaxTimeout() const
+{
+ return config.dtxMaxTimeout;
+}
+
+uint16_t Broker::getQueueThresholdEventRatio() const
+{
+ return config.queueThresholdEventRatio;
+}
+
+uint Broker::getQueueLimit() const
+{
+ return config.queueLimit;
+}
boost::intrusive_ptr<Broker> Broker::create(int16_t port)
{
- Options config;
+ BrokerOptions config;
config.port=port;
return create(config);
}
-boost::intrusive_ptr<Broker> Broker::create(const Options& opts)
+boost::intrusive_ptr<Broker> Broker::create(const BrokerOptions& opts)
{
return boost::intrusive_ptr<Broker>(new Broker(opts));
}
@@ -1031,7 +1097,7 @@ Manageable::status_t Broker::getTimestampConfig(bool& receive,
if (acl && !acl->authorise(userId, acl::ACT_ACCESS, acl::OBJ_BROKER, name, NULL)) {
throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied broker timestamp get request from " << userId));
}
- receive = config.timestampRcvMsgs;
+ receive = timestampRcvMsgs;
return Manageable::STATUS_OK;
}
@@ -1043,8 +1109,8 @@ Manageable::status_t Broker::setTimestampConfig(const bool receive,
if (acl && !acl->authorise(userId, acl::ACT_UPDATE, acl::OBJ_BROKER, name, NULL)) {
throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied broker timestamp set request from " << userId));
}
- config.timestampRcvMsgs = receive;
- QPID_LOG(notice, "Receive message timestamping is " << ((config.timestampRcvMsgs) ? "ENABLED." : "DISABLED."));
+ timestampRcvMsgs = receive;
+ QPID_LOG(notice, "Receive message timestamping is " << ((timestampRcvMsgs) ? "ENABLED." : "DISABLED."));
return Manageable::STATUS_OK;
}
diff --git a/qpid/cpp/src/qpid/broker/Broker.h b/qpid/cpp/src/qpid/broker/Broker.h
index bd18d2f5ec..25e4e9f0ef 100644
--- a/qpid/cpp/src/qpid/broker/Broker.h
+++ b/qpid/cpp/src/qpid/broker/Broker.h
@@ -1,5 +1,5 @@
-#ifndef _Broker_
-#define _Broker_
+#ifndef QPID_BROKER_BROKER_H
+#define QPID_BROKER_BROKER_H
/*
*
@@ -64,6 +64,7 @@ struct Url;
namespace broker {
class AclModule;
+struct BrokerOptions;
class Message;
struct QueueSettings;
@@ -82,55 +83,6 @@ class Broker : public sys::Runnable, public Plugin::Target,
public management::Manageable,
public RefCounted
{
- public:
-
- struct Options : public qpid::Options {
- static const std::string DEFAULT_DATA_DIR_LOCATION;
- static const std::string DEFAULT_DATA_DIR_NAME;
- static const std::string DEFAULT_PAGED_QUEUE_DIR;
-
- QPID_BROKER_EXTERN Options(const std::string& name="Broker Options");
-
- bool noDataDir;
- std::string dataDir;
- std::string pagingDir;
- uint16_t port;
- std::vector<std::string> listenInterfaces;
- std::vector<std::string> listenDisabled;
- int workerThreads;
- int connectionBacklog;
- bool enableMgmt;
- bool mgmtPublish;
- sys::Duration mgmtPubInterval;
- sys::Duration queueCleanInterval;
- bool auth;
- std::string realm;
- size_t replayFlushLimit;
- size_t replayHardLimit;
- uint queueLimit;
- bool tcpNoDelay;
- bool requireEncrypted;
- std::string knownHosts;
- std::string saslConfigPath;
- bool qmf2Support;
- bool qmf1Support;
- uint queueFlowStopRatio; // producer flow control: on
- uint queueFlowResumeRatio; // producer flow control: off
- uint16_t queueThresholdEventRatio;
- std::string defaultMsgGroup;
- bool timestampRcvMsgs;
- sys::Duration linkMaintenanceInterval;
- sys::Duration linkHeartbeatInterval;
- uint32_t dtxDefaultTimeout; // Default timeout of a DTX transaction
- uint32_t dtxMaxTimeout; // Maximal timeout of a DTX transaction
- uint32_t maxNegotiateTime; // Max time in ms for connection with no negotiation
- std::string fedTag;
-
- private:
- std::string getHome();
- };
-
- private:
struct TransportInfo {
boost::shared_ptr<sys::TransportAcceptor> acceptor;
boost::shared_ptr<sys::TransportConnector> connectorFactory;
@@ -173,7 +125,7 @@ class Broker : public sys::Runnable, public Plugin::Target,
void queueRedirectDestroy(boost::shared_ptr<Queue> srcQ, boost::shared_ptr<Queue> tgtQ, bool moveMsgs);
boost::shared_ptr<sys::Poller> poller;
std::auto_ptr<sys::Timer> timer;
- Options config;
+ const BrokerOptions& config;
std::auto_ptr<management::ManagementAgent> managementAgent;
std::set<std::string> disabledListeningTransports;
TransportMap transportMap;
@@ -207,12 +159,13 @@ class Broker : public sys::Runnable, public Plugin::Target,
mutable sys::Mutex linkClientPropertiesLock;
framing::FieldTable linkClientProperties;
+ bool timestampRcvMsgs;
public:
QPID_BROKER_EXTERN virtual ~Broker();
- QPID_BROKER_EXTERN Broker(const Options& configuration);
- static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(const Options& configuration);
+ QPID_BROKER_EXTERN Broker(const BrokerOptions& configuration);
+ static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(const BrokerOptions& configuration);
static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(int16_t port = DEFAULT_PORT);
/**
@@ -243,7 +196,6 @@ class Broker : public sys::Runnable, public Plugin::Target,
DtxManager& getDtxManager() { return dtxManager; }
const DataDir& getDataDir() { return dataDir; }
const DataDir& getPagingDir() { return pagingDir; }
- Options& getOptions() { return config; }
ProtocolRegistry& getProtocolRegistry() { return protocolRegistry; }
ObjectFactoryRegistry& getObjectFactoryRegistry() { return objectFactory; }
@@ -307,13 +259,8 @@ class Broker : public sys::Runnable, public Plugin::Target,
static QPID_BROKER_EXTERN const std::string TCP_TRANSPORT;
- bool inRecovery() const { return recoveryInProgress; }
-
management::ManagementAgent* getManagementAgent() { return managementAgent.get(); }
- bool isAuthenticating ( ) { return config.auth; }
- bool isTimestamping() { return config.timestampRcvMsgs; }
-
typedef boost::function1<void, boost::shared_ptr<Queue> > QueueFunctor;
QPID_BROKER_EXTERN std::pair<boost::shared_ptr<Queue>, bool> createQueue(
@@ -369,11 +316,26 @@ class Broker : public sys::Runnable, public Plugin::Target,
QPID_BROKER_EXTERN framing::FieldTable getLinkClientProperties() const;
QPID_BROKER_EXTERN void setLinkClientProperties(const framing::FieldTable&);
+ bool inRecovery() const { return recoveryInProgress; }
+ bool isTimestamping() const { return timestampRcvMsgs; }
+ QPID_BROKER_EXTERN bool isAuthenticating() const;
+ QPID_BROKER_EXTERN bool requireEncrypted() const;
+ QPID_BROKER_EXTERN std::string getRealm() const;
+ QPID_BROKER_EXTERN bool getTcpNoDelay() const;
+ QPID_BROKER_EXTERN uint16_t getPortOption() const;
+ QPID_BROKER_EXTERN const std::vector<std::string>& getListenInterfaces() const;
+ QPID_BROKER_EXTERN int getConnectionBacklog() const;
+ uint32_t getMaxNegotiateTime() const;
+ sys::Duration getLinkMaintenanceInterval() const;
+ QPID_BROKER_EXTERN sys::Duration getLinkHeartbeatInterval() const;
+ uint32_t getDtxMaxTimeout() const;
+ uint16_t getQueueThresholdEventRatio() const;
+ uint getQueueLimit() const;
+
/** Information identifying this system */
boost::shared_ptr<const System> getSystem() const { return systemObject; }
- friend class StatusCheckThread;
};
}}
-#endif /*!_Broker_*/
+#endif
diff --git a/qpid/cpp/src/qpid/broker/BrokerOptions.h b/qpid/cpp/src/qpid/broker/BrokerOptions.h
new file mode 100644
index 0000000000..81844a8631
--- /dev/null
+++ b/qpid/cpp/src/qpid/broker/BrokerOptions.h
@@ -0,0 +1,86 @@
+#ifndef QPID_BROKER_BROKEROPTIONS_H
+#define QPID_BROKER_BROKEROPTIONS_H
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+#include "qpid/Options.h"
+#include "qpid/sys/Time.h"
+#include "qpid/sys/IntegerTypes.h"
+
+#include "qpid/broker/BrokerImportExport.h"
+
+#include <string>
+#include <vector>
+
+namespace qpid {
+namespace broker {
+
+struct BrokerOptions : public qpid::Options
+{
+ static const std::string DEFAULT_DATA_DIR_LOCATION;
+ static const std::string DEFAULT_DATA_DIR_NAME;
+ static const std::string DEFAULT_PAGED_QUEUE_DIR;
+
+ QPID_BROKER_EXTERN BrokerOptions(const std::string& name="Broker Options");
+
+ bool noDataDir;
+ std::string dataDir;
+ std::string pagingDir;
+ uint16_t port;
+ std::vector<std::string> listenInterfaces;
+ std::vector<std::string> listenDisabled;
+ int workerThreads;
+ int connectionBacklog;
+ bool enableMgmt;
+ bool mgmtPublish;
+ sys::Duration mgmtPubInterval;
+ sys::Duration queueCleanInterval;
+ bool auth;
+ std::string realm;
+ size_t replayFlushLimit;
+ size_t replayHardLimit;
+ uint queueLimit;
+ bool tcpNoDelay;
+ bool requireEncrypted;
+ std::string knownHosts;
+ std::string saslConfigPath;
+ bool qmf2Support;
+ bool qmf1Support;
+ uint queueFlowStopRatio; // producer flow control: on
+ uint queueFlowResumeRatio; // producer flow control: off
+ uint16_t queueThresholdEventRatio;
+ std::string defaultMsgGroup;
+ bool timestampRcvMsgs;
+ sys::Duration linkMaintenanceInterval;
+ sys::Duration linkHeartbeatInterval;
+ uint32_t dtxDefaultTimeout; // Default timeout of a DTX transaction
+ uint32_t dtxMaxTimeout; // Maximal timeout of a DTX transaction
+ uint32_t maxNegotiateTime; // Max time in ms for connection with no negotiation
+ std::string fedTag;
+
+private:
+ std::string getHome();
+};
+
+}}
+
+#endif // QPID_BROKER_BROKEROPTIONS_H
diff --git a/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp b/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
index f735d22cd3..2afdc5a61d 100644
--- a/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
+++ b/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
@@ -244,8 +244,7 @@ void ConnectionHandler::Handler::open(const string& /*virtualHost*/,
return;
}
} else {
- Broker::Options& conf = connection.getBroker().getOptions();
- if (conf.auth) {
+ if (connection.getBroker().isAuthenticating()) {
proxy.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,
QPID_MSG("User " << connection.getUserId()
<< " federation connection denied. Systems with authentication "
@@ -409,7 +408,7 @@ void ConnectionHandler::Handler::tune(uint16_t channelMax,
// this method is only ever called when this Connection
// is a federation link where this Broker is acting as
// a client to another Broker
- sys::Duration interval = connection.getBroker().getOptions().linkHeartbeatInterval;
+ sys::Duration interval = connection.getBroker().getLinkHeartbeatInterval();
uint16_t intervalSec = static_cast<uint16_t>(interval/sys::TIME_SEC);
uint16_t hb = std::min(intervalSec, heartbeatMax);
connection.setHeartbeat(hb);
diff --git a/qpid/cpp/src/qpid/broker/Link.cpp b/qpid/cpp/src/qpid/broker/Link.cpp
index fc200adbea..9b85917251 100644
--- a/qpid/cpp/src/qpid/broker/Link.cpp
+++ b/qpid/cpp/src/qpid/broker/Link.cpp
@@ -61,7 +61,7 @@ namespace {
struct LinkTimerTask : public sys::TimerTask {
LinkTimerTask(Link& l, sys::Timer& t)
- : TimerTask(l.getBroker()->getOptions().linkMaintenanceInterval,
+ : TimerTask(l.getBroker()->getLinkMaintenanceInterval(),
"Link retry timer"),
link(l), timer(t) {}
diff --git a/qpid/cpp/src/qpid/broker/LinkRegistry.cpp b/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
index ed1e314bda..b3a78b98ca 100644
--- a/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
+++ b/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
@@ -78,7 +78,7 @@ class LinkRegistryConnectionObserver : public ConnectionObserver {
LinkRegistry::LinkRegistry (Broker* _broker) :
broker(_broker),
parent(0), store(0),
- realm(broker->getOptions().realm)
+ realm(broker->getRealm())
{
broker->getConnectionObservers().add(
boost::shared_ptr<ConnectionObserver>(new LinkRegistryConnectionObserver(*this)));
diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp
index 39ad2021ed..bfc9059ad2 100644
--- a/qpid/cpp/src/qpid/broker/Queue.cpp
+++ b/qpid/cpp/src/qpid/broker/Queue.cpp
@@ -132,7 +132,7 @@ inline void mgntDeqStats(const Message& msg,
}
}
-QueueSettings merge(const QueueSettings& inputs, const Broker::Options& globalOptions)
+QueueSettings merge(const QueueSettings& inputs, const Broker& broker)
{
QueueSettings settings(inputs);
settings.maxDepth = QueueDepth();
@@ -143,8 +143,8 @@ QueueSettings merge(const QueueSettings& inputs, const Broker::Options& globalOp
if (inputs.maxDepth.getSize()) {
settings.maxDepth.setSize(inputs.maxDepth.getSize());
}
- } else if (globalOptions.queueLimit) {
- settings.maxDepth.setSize(globalOptions.queueLimit);
+ } else if (broker.getQueueLimit()) {
+ settings.maxDepth.setSize(broker.getQueueLimit());
}
return settings;
}
@@ -197,7 +197,7 @@ Queue::Queue(const string& _name, const QueueSettings& _settings,
exclusive(0),
messages(new MessageDeque()),
persistenceId(0),
- settings(b ? merge(_settings, b->getOptions()) : _settings),
+ settings(b ? merge(_settings, *b) : _settings),
eventMode(0),
observers(name, messageLock),
broker(b),
diff --git a/qpid/cpp/src/qpid/broker/QueueFactory.cpp b/qpid/cpp/src/qpid/broker/QueueFactory.cpp
index 4ce1b796f7..8104fff740 100644
--- a/qpid/cpp/src/qpid/broker/QueueFactory.cpp
+++ b/qpid/cpp/src/qpid/broker/QueueFactory.cpp
@@ -100,7 +100,7 @@ boost::shared_ptr<Queue> QueueFactory::create(const std::string& name, const Que
//4. threshold event config
if (broker && broker->getManagementAgent()) {
- ThresholdAlerts::observe(*queue, *(broker->getManagementAgent()), settings, broker->getOptions().queueThresholdEventRatio);
+ ThresholdAlerts::observe(*queue, *(broker->getManagementAgent()), settings, broker->getQueueThresholdEventRatio());
}
//5. flow control config
if (flow_ptr) {
diff --git a/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp b/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
index ec86f3b177..ca33b49249 100644
--- a/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
+++ b/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
@@ -169,18 +169,18 @@ void SaslAuthenticator::fini(void)
std::auto_ptr<SaslAuthenticator> SaslAuthenticator::createAuthenticator(amqp_0_10::Connection& c )
{
- if (c.getBroker().getOptions().auth) {
+ if (c.getBroker().isAuthenticating()) {
return std::auto_ptr<SaslAuthenticator>(
- new CyrusAuthenticator(c, c.getBroker().getOptions().requireEncrypted));
+ new CyrusAuthenticator(c, c.getBroker().requireEncrypted()));
} else {
QPID_LOG(debug, "SASL: No Authentication Performed");
- return std::auto_ptr<SaslAuthenticator>(new NullAuthenticator(c, c.getBroker().getOptions().requireEncrypted));
+ return std::auto_ptr<SaslAuthenticator>(new NullAuthenticator(c, c.getBroker().requireEncrypted()));
}
}
NullAuthenticator::NullAuthenticator(amqp_0_10::Connection& c, bool e) : connection(c), client(c.getOutput()),
- realm(c.getBroker().getOptions().realm), encrypt(e) {}
+ realm(c.getBroker().getRealm()), encrypt(e) {}
NullAuthenticator::~NullAuthenticator() {}
void NullAuthenticator::getMechanisms(Array& mechanisms)
@@ -272,7 +272,7 @@ void CyrusAuthenticator::init()
*/
int code;
- const char *realm = connection.getBroker().getOptions().realm.c_str();
+ const char *realm = connection.getBroker().getRealm().c_str();
code = sasl_server_new(BROKER_SASL_NAME, /* Service name */
NULL, /* Server FQDN, gethostname() */
realm, /* Authentication realm */
diff --git a/qpid/cpp/src/qpid/broker/SemanticState.cpp b/qpid/cpp/src/qpid/broker/SemanticState.cpp
index 4aba596b62..211dc2aeed 100644
--- a/qpid/cpp/src/qpid/broker/SemanticState.cpp
+++ b/qpid/cpp/src/qpid/broker/SemanticState.cpp
@@ -83,7 +83,7 @@ SemanticState::SemanticState(SessionState& ss)
: session(ss),
tagGenerator("sgen"),
dtxSelected(false),
- authMsg(getSession().getBroker().getOptions().auth && !getSession().getConnection().isUserProxyAuth()),
+ authMsg(getSession().getBroker().isAuthenticating() && !getSession().getConnection().isUserProxyAuth()),
userID(getSession().getConnection().getUserId()),
closeComplete(false),
connectionId(getSession().getConnection().getMgmtId())
diff --git a/qpid/cpp/src/qpid/broker/SessionAdapter.cpp b/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
index b9ae261f83..c4a0d9f008 100644
--- a/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
+++ b/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
@@ -659,8 +659,8 @@ DtxGetTimeoutResult SessionAdapter::DtxHandlerImpl::getTimeout(const Xid& xid)
void SessionAdapter::DtxHandlerImpl::setTimeout(const Xid& xid,
uint32_t timeout)
{
- if ((timeout > getBroker().getOptions().dtxMaxTimeout) && (getBroker().getOptions().dtxMaxTimeout > 0))
- throw InvalidArgumentException(QPID_MSG("xid " << xid << " has timeout " << timeout << " bigger than maximum allowed " << getBroker().getOptions().dtxMaxTimeout));
+ if ((timeout > getBroker().getDtxMaxTimeout()) && (getBroker().getDtxMaxTimeout() > 0))
+ throw InvalidArgumentException(QPID_MSG("xid " << xid << " has timeout " << timeout << " bigger than maximum allowed " << getBroker().getDtxMaxTimeout()));
getBroker().getDtxManager().setTimeout(DtxManager::convert(xid), timeout);
}
diff --git a/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp b/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
index b2627e756e..eb0c1c19d5 100644
--- a/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
@@ -115,17 +115,17 @@ qpid::sys::ConnectionCodec* ProtocolImpl::create(const qpid::framing::ProtocolVe
{
if (v == qpid::framing::ProtocolVersion(1, 0)) {
if (v.getProtocol() == qpid::framing::ProtocolVersion::SASL) {
- if (getBroker().getOptions().auth) {
+ if (getBroker().isAuthenticating()) {
QPID_LOG(info, "Using AMQP 1.0 (with SASL layer)");
return new qpid::broker::amqp::Sasl(out, id, *this,
- qpid::SaslFactory::getInstance().createServer(getBroker().getOptions().realm,getBroker().getOptions().requireEncrypted, external));
+ qpid::SaslFactory::getInstance().createServer(getBroker().getRealm(),getBroker().requireEncrypted(), external));
} else {
- std::auto_ptr<SaslServer> authenticator(new qpid::NullSaslServer(getBroker().getOptions().realm));
+ std::auto_ptr<SaslServer> authenticator(new qpid::NullSaslServer(getBroker().getRealm()));
QPID_LOG(info, "Using AMQP 1.0 (with dummy SASL layer)");
return new qpid::broker::amqp::Sasl(out, id, *this, authenticator);
}
} else {
- if (getBroker().getOptions().auth) {
+ if (getBroker().isAuthenticating()) {
throw qpid::Exception("SASL layer required!");
} else {
QPID_LOG(info, "Using AMQP 1.0 (no SASL layer)");
diff --git a/qpid/cpp/src/qpid/broker/amqp/Session.cpp b/qpid/cpp/src/qpid/broker/amqp/Session.cpp
index b43deeab3d..f633a4f5d4 100644
--- a/qpid/cpp/src/qpid/broker/amqp/Session.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp/Session.cpp
@@ -435,8 +435,8 @@ void Session::setupIncoming(pn_link_t* link, pn_terminus_t* target, const std::s
pn_terminus_set_type(pn_link_target(link), PN_UNSPECIFIED);
throw Exception(qpid::amqp::error_conditions::NOT_FOUND, std::string("Node not found: ") + name);
}
- if (connection.getBroker().getOptions().auth && !connection.isLink())
- incoming[link]->verify(connection.getUserId(), connection.getBroker().getOptions().realm);
+ if (connection.getBroker().isAuthenticating() && !connection.isLink())
+ incoming[link]->verify(connection.getUserId(), connection.getBroker().getRealm());
QPID_LOG(debug, "Incoming link attached");
}
diff --git a/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp b/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp
index b7bd8bc50d..56321e690e 100644
--- a/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp
@@ -316,7 +316,7 @@ void Connection::setUserId(const string& uid)
userName = userId.substr(0, at);
isDefaultRealm = (
at!= std::string::npos &&
- getBroker().getOptions().realm == userId.substr(at+1,userId.size()));
+ getBroker().getRealm() == userId.substr(at+1,userId.size()));
raiseConnectEvent();
}
diff --git a/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp b/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp
index 9e118c19f7..e3cfa66b02 100644
--- a/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp
+++ b/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp
@@ -20,17 +20,18 @@
*/
#include "qpid/broker/Broker.h"
+#include "qpid/broker/BrokerOptions.h"
#include <stdlib.h>
namespace qpid {
namespace broker {
-const std::string Broker::Options::DEFAULT_DATA_DIR_LOCATION("/tmp");
-const std::string Broker::Options::DEFAULT_DATA_DIR_NAME("/.qpidd");
-const std::string Broker::Options::DEFAULT_PAGED_QUEUE_DIR("/pq");
+const std::string BrokerOptions::DEFAULT_DATA_DIR_LOCATION("/tmp");
+const std::string BrokerOptions::DEFAULT_DATA_DIR_NAME("/.qpidd");
+const std::string BrokerOptions::DEFAULT_PAGED_QUEUE_DIR("/pq");
std::string
-Broker::Options::getHome() {
+BrokerOptions::getHome() {
std::string home;
char *home_c = ::getenv("HOME");
if (home_c != 0)
diff --git a/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp b/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp
index 42b8af077b..d73c5713ea 100644
--- a/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp
+++ b/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp
@@ -71,8 +71,7 @@ static class SocketFDPlugin : public Plugin {
// Only provide to a Broker
if (broker) {
if (!options.socketFds.empty()) {
- const broker::Broker::Options& opts = broker->getOptions();
- SocketAcceptor* sa = new SocketAcceptor(opts.tcpNoDelay, false, opts.maxNegotiateTime, broker->getTimer());
+ SocketAcceptor* sa = new SocketAcceptor(broker->getTcpNoDelay(), false, broker->getMaxNegotiateTime(), broker->getTimer());
for (unsigned i = 0; i<options.socketFds.size(); ++i) {
int fd = options.socketFds[i];
if (!isSocket(fd)) {
diff --git a/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp b/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp
index 260bd7c073..6184e0450f 100644
--- a/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp
+++ b/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp
@@ -19,18 +19,19 @@
*
*/
-#include "qpid/broker/Broker.h"
+#include "qpid/broker/BrokerOptions.h"
#include <stdlib.h>
+#include <windows.h>
namespace qpid {
namespace broker {
-const std::string Broker::Options::DEFAULT_DATA_DIR_LOCATION("\\TEMP");
-const std::string Broker::Options::DEFAULT_DATA_DIR_NAME("\\QPIDD.DATA");
-const std::string Broker::Options::DEFAULT_PAGED_QUEUE_DIR("\\PQ");
+const std::string BrokerOptions::DEFAULT_DATA_DIR_LOCATION("\\TEMP");
+const std::string BrokerOptions::DEFAULT_DATA_DIR_NAME("\\QPIDD.DATA");
+const std::string BrokerOptions::DEFAULT_PAGED_QUEUE_DIR("\\PQ");
std::string
-Broker::Options::getHome() {
+BrokerOptions::getHome() {
std::string home;
#ifdef _MSC_VER
char home_c[MAX_PATH+1];
diff --git a/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp b/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp
index 814c236712..19941c7909 100644
--- a/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp
+++ b/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp
@@ -86,7 +86,7 @@ void SaslAuthenticator::fini(void)
std::auto_ptr<SaslAuthenticator> SaslAuthenticator::createAuthenticator(qpid::broker::amqp_0_10::Connection& c)
{
- if (c.getBroker().getOptions().auth) {
+ if (c.getBroker().isAuthenticating()) {
return std::auto_ptr<SaslAuthenticator>(new SspiAuthenticator(c));
} else {
return std::auto_ptr<SaslAuthenticator>(new NullAuthenticator(c));
@@ -94,7 +94,7 @@ std::auto_ptr<SaslAuthenticator> SaslAuthenticator::createAuthenticator(qpid::br
}
NullAuthenticator::NullAuthenticator(qpid::broker::amqp_0_10::Connection& c) :
- connection(c), client(c.getOutput()), realm("@"+c.getBroker().getOptions().realm) {}
+ connection(c), client(c.getOutput()), realm("@"+c.getBroker().getRealm()) {}
NullAuthenticator::~NullAuthenticator() {}
void NullAuthenticator::getMechanisms(Array& mechanisms)
diff --git a/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp b/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
index 1a34332138..6ff624ef75 100644
--- a/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
+++ b/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
@@ -91,7 +91,7 @@ class SslProtocolFactory : public qpid::sys::SocketAcceptor, public qpid::sys::T
CredHandle credHandle;
public:
- SslProtocolFactory(const qpid::broker::Broker::Options& opts, const SslServerOptions&, Timer& timer);
+ SslProtocolFactory(const qpid::broker::Broker& broker, const SslServerOptions&, Timer& timer);
~SslProtocolFactory();
void connect(sys::Poller::shared_ptr, const std::string& name, const std::string& host, const std::string& port,
@@ -121,11 +121,10 @@ static struct SslPlugin : public Plugin {
// Only provide to a Broker
if (broker) {
try {
- const broker::Broker::Options& opts = broker->getOptions();
- boost::shared_ptr<SslProtocolFactory> protocol(new SslProtocolFactory(opts, options, broker->getTimer()));
+ boost::shared_ptr<SslProtocolFactory> protocol(new SslProtocolFactory(*broker, options, broker->getTimer()));
uint16_t port =
- protocol->listen(opts.listenInterfaces,
- options.port, opts.connectionBacklog,
+ protocol->listen(broker->getListenInterfaces(),
+ options.port, broker->getConnectionBacklog(),
&createSocket);
QPID_LOG(notice, "Listening for SSL connections on TCP port " << port);
broker->registerTransport("ssl", protocol, protocol, port);
@@ -136,12 +135,12 @@ static struct SslPlugin : public Plugin {
}
} sslPlugin;
-SslProtocolFactory::SslProtocolFactory(const qpid::broker::Broker::Options& opts, const SslServerOptions& options, Timer& timer)
- : SocketAcceptor(opts.tcpNoDelay, false, opts.maxNegotiateTime, timer,
+SslProtocolFactory::SslProtocolFactory(const qpid::broker::Broker& broker, const SslServerOptions& options, Timer& timer)
+ : SocketAcceptor(broker.getTcpNoDelay(), false, broker.getMaxNegotiateTime(), timer,
boost::bind(&SslProtocolFactory::establishedIncoming, this, _1, _2, _3)),
brokerTimer(timer),
- maxNegotiateTime(opts.maxNegotiateTime),
- tcpNoDelay(opts.tcpNoDelay),
+ maxNegotiateTime(broker.getMaxNegotiateTime()),
+ tcpNoDelay(broker.getTcpNoDelay()),
clientAuthSelected(options.clientAuth) {
// Make sure that certificate store is good before listening to sockets
diff --git a/qpid/cpp/src/qpid/ha/HaBroker.cpp b/qpid/cpp/src/qpid/ha/HaBroker.cpp
index 25703eeeb2..027448905b 100644
--- a/qpid/cpp/src/qpid/ha/HaBroker.cpp
+++ b/qpid/cpp/src/qpid/ha/HaBroker.cpp
@@ -79,7 +79,7 @@ class HaBroker::BrokerObserver : public broker::BrokerObserver {
HaBroker::HaBroker(broker::Broker& b, const Settings& s)
: systemId(b.getSystem()->getSystemId().data()),
settings(s),
- userId(s.username+"@"+b.getOptions().realm),
+ userId(s.username+"@"+b.getRealm()),
broker(b),
observer(new ConnectionObserver(*this, systemId)),
role(new StandAlone),
diff --git a/qpid/cpp/src/qpid/ha/StatusCheck.cpp b/qpid/cpp/src/qpid/ha/StatusCheck.cpp
index 4962570424..8acf8d6cdc 100644
--- a/qpid/cpp/src/qpid/ha/StatusCheck.cpp
+++ b/qpid/cpp/src/qpid/ha/StatusCheck.cpp
@@ -112,7 +112,7 @@ void StatusCheckThread::run() {
StatusCheck::StatusCheck(HaBroker& hb) :
promote(true),
settings(hb.getSettings()),
- heartbeat(hb.getBroker().getOptions().linkHeartbeatInterval),
+ heartbeat(hb.getBroker().getLinkHeartbeatInterval()),
brokerInfo(hb.getBrokerInfo())
{}
diff --git a/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp b/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
index 0e95b6571c..9a7b8ef201 100644
--- a/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
+++ b/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
@@ -280,8 +280,7 @@ static class RdmaIOPlugin : public Plugin {
broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
// Only provide to a Broker
if (broker) {
- const broker::Broker::Options& opts = broker->getOptions();
- boost::shared_ptr<RdmaIOProtocolFactory> protocol(new RdmaIOProtocolFactory(opts.port, opts.connectionBacklog));
+ boost::shared_ptr<RdmaIOProtocolFactory> protocol(new RdmaIOProtocolFactory(broker->getPortOption(), broker->getConnectionBacklog()));
uint16_t port = protocol->getPort();
QPID_LOG(notice, "Rdma: Listening on RDMA port " << port);
broker->registerTransport("rdma", protocol, protocol, port);
diff --git a/qpid/cpp/src/qpid/sys/SslPlugin.cpp b/qpid/cpp/src/qpid/sys/SslPlugin.cpp
index 4c3326622a..0ec31b1e47 100644
--- a/qpid/cpp/src/qpid/sys/SslPlugin.cpp
+++ b/qpid/cpp/src/qpid/sys/SslPlugin.cpp
@@ -86,8 +86,6 @@ static struct SslPlugin : public Plugin {
void earlyInitialize(Target& target) {
broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
if (broker && broker->shouldListen("ssl")) {
- broker::Broker::Options& opts = broker->getOptions();
-
if (options.certDbPath.empty()) {
QPID_LOG(notice, "SSL plugin not enabled, you must set --ssl-cert-db to enable it.");
broker->disableListening("ssl");
@@ -103,8 +101,8 @@ static struct SslPlugin : public Plugin {
return;
}
- if (opts.port == options.port && // AMQP & AMQPS ports are the same
- opts.port != 0 &&
+ if (broker->getPortOption() == options.port && // AMQP & AMQPS ports are the same
+ broker->getPortOption() != 0 &&
broker->shouldListen("tcp")) {
multiplex = true;
broker->disableListening("tcp");
@@ -117,13 +115,12 @@ static struct SslPlugin : public Plugin {
broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
// Only provide to a Broker
if (broker) {
- const broker::Broker::Options& opts = broker->getOptions();
uint16_t port = options.port;
TransportAcceptor::shared_ptr ta;
if (broker->shouldListen("ssl")) {
SocketAcceptor* sa =
- new SocketAcceptor(opts.tcpNoDelay, options.nodict, opts.maxNegotiateTime, broker->getTimer());
- port = sa->listen(opts.listenInterfaces, options.port, opts.connectionBacklog,
+ new SocketAcceptor(broker->getTcpNoDelay(), options.nodict, broker->getMaxNegotiateTime(), broker->getTimer());
+ port = sa->listen(broker->getListenInterfaces(), options.port, broker->getConnectionBacklog(),
multiplex ?
boost::bind(&createServerSSLMuxSocket, options) :
boost::bind(&createServerSSLSocket, options));
@@ -136,7 +133,7 @@ static struct SslPlugin : public Plugin {
}
}
TransportConnector::shared_ptr tc(
- new SocketConnector(opts.tcpNoDelay, options.nodict, opts.maxNegotiateTime, broker->getTimer(),
+ new SocketConnector(broker->getTcpNoDelay(), options.nodict, broker->getMaxNegotiateTime(), broker->getTimer(),
&createClientSSLSocket));
broker->registerTransport("ssl", ta, tc, port);
}
diff --git a/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp b/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
index cd941eb2f6..9e240ad7e3 100644
--- a/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
+++ b/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
@@ -40,20 +40,18 @@ static class TCPIOPlugin : public Plugin {
broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
// Only provide to a Broker
if (broker) {
- const broker::Broker::Options& opts = broker->getOptions();
-
- uint16_t port = opts.port;
+ uint16_t port = broker->getPortOption();
TransportAcceptor::shared_ptr ta;
if (broker->shouldListen("tcp")) {
- SocketAcceptor* aa = new SocketAcceptor(opts.tcpNoDelay, false, opts.maxNegotiateTime, broker->getTimer());
+ SocketAcceptor* aa = new SocketAcceptor(broker->getTcpNoDelay(), false, broker->getMaxNegotiateTime(), broker->getTimer());
ta.reset(aa);
- port = aa->listen(opts.listenInterfaces, opts.port, opts.connectionBacklog, &createSocket);
+ port = aa->listen(broker->getListenInterfaces(), port, broker->getConnectionBacklog(), &createSocket);
if ( port!=0 ) {
QPID_LOG(notice, "Listening on TCP/TCP6 port " << port);
}
}
- TransportConnector::shared_ptr tc(new SocketConnector(opts.tcpNoDelay, false, opts.maxNegotiateTime, broker->getTimer(), &createSocket));
+ TransportConnector::shared_ptr tc(new SocketConnector(broker->getTcpNoDelay(), false, broker->getMaxNegotiateTime(), broker->getTimer(), &createSocket));
broker->registerTransport("tcp", ta, tc, port);
}
diff --git a/qpid/cpp/src/qpidd.h b/qpid/cpp/src/qpidd.h
index 08356ab29e..38328139c3 100644
--- a/qpid/cpp/src/qpidd.h
+++ b/qpid/cpp/src/qpidd.h
@@ -21,7 +21,7 @@
#include "qpid/Modules.h"
#include "qpid/Options.h"
-#include "qpid/broker/Broker.h"
+#include "qpid/broker/BrokerOptions.h"
#include "qpid/log/Options.h"
#include <memory>
@@ -58,7 +58,7 @@ protected:
struct QpiddOptions : public qpid::Options {
qpid::CommonOptions common;
qpid::ModuleOptions module;
- qpid::broker::Broker::Options broker;
+ qpid::broker::BrokerOptions broker;
qpid::log::Options log;
std::auto_ptr<QpiddOptionsPrivate> platform;
diff --git a/qpid/cpp/src/tests/BrokerFixture.h b/qpid/cpp/src/tests/BrokerFixture.h
index b7b0f9d34b..90b2dc47e0 100644
--- a/qpid/cpp/src/tests/BrokerFixture.h
+++ b/qpid/cpp/src/tests/BrokerFixture.h
@@ -23,6 +23,7 @@
*/
#include "qpid/broker/Broker.h"
+#include "qpid/broker/BrokerOptions.h"
#include "qpid/client/Connection.h"
#include "qpid/client/ConnectionImpl.h"
#include "qpid/client/Session.h"
@@ -42,22 +43,26 @@ namespace tests {
struct BrokerFixture : private boost::noncopyable {
typedef qpid::broker::Broker Broker;
typedef boost::intrusive_ptr<Broker> BrokerPtr;
+ typedef qpid::broker::BrokerOptions BrokerOptions;
typedef std::vector<std::string> Args;
BrokerPtr broker;
+ BrokerOptions opts;
uint16_t port;
qpid::sys::Thread brokerThread;
- BrokerFixture(const Args& args=Args(), const Broker::Options& opts=Broker::Options(),
- bool isExternalPort_=false, uint16_t externalPort_=0)
+ BrokerFixture(const Args& args=Args(), const BrokerOptions& opts0=BrokerOptions(),
+ bool isExternalPort_=false, uint16_t externalPort_=0) :
+ opts(opts0)
{
- init(args, opts, isExternalPort_, externalPort_);
+ init(args, isExternalPort_, externalPort_);
}
- BrokerFixture(const Broker::Options& opts,
- bool isExternalPort_=false, uint16_t externalPort_=0)
+ BrokerFixture(const BrokerOptions& opts0,
+ bool isExternalPort_=false, uint16_t externalPort_=0) :
+ opts(opts0)
{
- init(Args(), opts, isExternalPort_, externalPort_);
+ init(Args(), isExternalPort_, externalPort_);
}
void shutdownBroker() {
@@ -78,8 +83,7 @@ struct BrokerFixture : private boost::noncopyable {
uint16_t getPort() { return port; }
private:
- void init(const Args& args, Broker::Options opts,
- bool isExternalPort=false, uint16_t externalPort=0)
+ void init(const Args& args, bool isExternalPort=false, uint16_t externalPort=0)
{
// Keep the tests quiet unless logging env. vars have been set by user.
if (!::getenv("QPID_LOG_ENABLE") && !::getenv("QPID_TRACE")) {
@@ -148,7 +152,7 @@ typedef ClientT<> Client;
template <class ConnectionType, class SessionType=qpid::client::Session>
struct SessionFixtureT : BrokerFixture, ClientT<ConnectionType,SessionType> {
- SessionFixtureT(Broker::Options opts=Broker::Options()) :
+ SessionFixtureT(BrokerOptions opts=BrokerOptions()) :
BrokerFixture(BrokerFixture::Args(), opts),
ClientT<ConnectionType,SessionType>(getPort())
{}
diff --git a/qpid/cpp/src/tests/ClientSessionTest.cpp b/qpid/cpp/src/tests/ClientSessionTest.cpp
index 2236882eed..6cd63e7f04 100644
--- a/qpid/cpp/src/tests/ClientSessionTest.cpp
+++ b/qpid/cpp/src/tests/ClientSessionTest.cpp
@@ -52,7 +52,7 @@ using namespace qpid;
using qpid::sys::Monitor;
using qpid::sys::Thread;
using qpid::sys::TIME_SEC;
-using qpid::broker::Broker;
+using qpid::broker::BrokerOptions;
using std::string;
using std::cout;
using std::endl;
@@ -105,7 +105,7 @@ struct SimpleListener : public MessageListener
struct ClientSessionFixture : public SessionFixture
{
- ClientSessionFixture(Broker::Options opts = Broker::Options()) : SessionFixture(opts) {
+ ClientSessionFixture(BrokerOptions opts = BrokerOptions()) : SessionFixture(opts) {
session.queueDeclare(arg::queue="my-queue");
}
};
@@ -248,7 +248,7 @@ QPID_AUTO_TEST_CASE(testOpenFailure) {
}
QPID_AUTO_TEST_CASE(testPeriodicExpiration) {
- Broker::Options opts;
+ BrokerOptions opts;
opts.queueCleanInterval = 1*TIME_SEC;
opts.queueFlowStopRatio = 0;
opts.queueFlowResumeRatio = 0;
diff --git a/qpid/cpp/src/tests/MessagingFixture.h b/qpid/cpp/src/tests/MessagingFixture.h
index 1d70d4cfa6..2d780fea14 100644
--- a/qpid/cpp/src/tests/MessagingFixture.h
+++ b/qpid/cpp/src/tests/MessagingFixture.h
@@ -103,7 +103,7 @@ struct MessagingFixture : public BrokerFixture
messaging::Session session;
BrokerAdmin admin;
- MessagingFixture(Broker::Options opts = Broker::Options(), bool mgmtEnabled=false) :
+ MessagingFixture(BrokerOptions opts = BrokerOptions(), bool mgmtEnabled=false) :
BrokerFixture(opts, mgmtEnabled),
connection(open(broker->getPort(Broker::TCP_TRANSPORT))),
session(connection.createSession()),
diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp
index 0926765d78..3ca74fa2b7 100644
--- a/qpid/cpp/src/tests/MessagingSessionTests.cpp
+++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp
@@ -46,7 +46,7 @@ QPID_AUTO_TEST_SUITE(MessagingSessionTests)
using namespace qpid::messaging;
using namespace qpid::types;
using namespace qpid;
-using qpid::broker::Broker;
+using qpid::broker::BrokerOptions;
using qpid::framing::Uuid;
@@ -935,7 +935,7 @@ QPID_AUTO_TEST_CASE(testAcknowledge)
QPID_AUTO_TEST_CASE(testQmfCreateAndDelete)
{
- MessagingFixture fix(Broker::Options(), true/*enable management*/);
+ MessagingFixture fix(BrokerOptions(), true/*enable management*/);
MethodInvoker control(fix.session);
control.createQueue("my-queue");
control.createExchange("my-exchange", "topic");