Author: astitcher
Date: Tue Jul  1 19:12:38 2014
New Revision: 1607166

URL: http://svn.apache.org/r1607166
Log:
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

Added:
    qpid/trunk/qpid/cpp/src/qpid/broker/BrokerOptions.h
Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h
    qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
    qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp
    qpid/trunk/qpid/cpp/src/qpid/ha/StatusCheck.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
    qpid/trunk/qpid/cpp/src/qpidd.h
    qpid/trunk/qpid/cpp/src/tests/BrokerFixture.h
    qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp
    qpid/trunk/qpid/cpp/src/tests/MessagingFixture.h
    qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Tue Jul  1 19:12:38 2014
@@ -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& co
         *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(con
     }
 }
 
+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::getTimestam
     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::setTimestam
     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;
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h Tue Jul  1 19:12:38 2014
@@ -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, pub
                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, pub
     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, pub
 
     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, pub
     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, pub
 
     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, pub
     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

Added: qpid/trunk/qpid/cpp/src/qpid/broker/BrokerOptions.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerOptions.h?rev=1607166&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/BrokerOptions.h (added)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/BrokerOptions.h Tue Jul  1 19:12:38 2014
@@ -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

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp Tue Jul  1 
19:12:38 2014
@@ -244,8 +244,7 @@ void ConnectionHandler::Handler::open(co
                 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(ui
     // 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);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp Tue Jul  1 19:12:38 2014
@@ -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) {}
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp Tue Jul  1 19:12:38 
2014
@@ -78,7 +78,7 @@ class LinkRegistryConnectionObserver : p
 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)));

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Tue Jul  1 19:12:38 2014
@@ -132,7 +132,7 @@ inline void mgntDeqStats(const Message& 
     }
 }
 
-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&
         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 
     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),

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp Tue Jul  1 19:12:38 
2014
@@ -100,7 +100,7 @@ boost::shared_ptr<Queue> QueueFactory::c
 
     //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) {

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp Tue Jul  1 
19:12:38 2014
@@ -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 */

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp Tue Jul  1 19:12:38 
2014
@@ -83,7 +83,7 @@ SemanticState::SemanticState(SessionStat
     : 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())

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp Tue Jul  1 19:12:38 
2014
@@ -659,8 +659,8 @@ DtxGetTimeoutResult SessionAdapter::DtxH
 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);
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp Tue Jul  1 
19:12:38 2014
@@ -115,17 +115,17 @@ qpid::sys::ConnectionCodec* ProtocolImpl
 {
     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)");

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp Tue Jul  1 19:12:38 
2014
@@ -435,8 +435,8 @@ void Session::setupIncoming(pn_link_t* l
         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");
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp Tue Jul  1 
19:12:38 2014
@@ -316,7 +316,7 @@ void Connection::setUserId(const string&
     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();
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/posix/BrokerDefaults.cpp Tue Jul  1 
19:12:38 2014
@@ -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)

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/posix/SocketFDPlugin.cpp Tue Jul  1 
19:12:38 2014
@@ -71,8 +71,7 @@ static class SocketFDPlugin : public Plu
         // 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)) {

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/windows/BrokerDefaults.cpp Tue Jul  1 
19:12:38 2014
@@ -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];

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp Tue Jul  
1 19:12:38 2014
@@ -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> SaslAut
 }
 
 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)

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp 
(original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp Tue Jul  
1 19:12:38 2014
@@ -91,7 +91,7 @@ class SslProtocolFactory : public qpid::
     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

Modified: qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp Tue Jul  1 19:12:38 2014
@@ -79,7 +79,7 @@ class HaBroker::BrokerObserver : public 
 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),

Modified: qpid/trunk/qpid/cpp/src/qpid/ha/StatusCheck.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/StatusCheck.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/StatusCheck.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/StatusCheck.cpp Tue Jul  1 19:12:38 2014
@@ -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())
 {}
 

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp Tue Jul  1 19:12:38 2014
@@ -280,8 +280,7 @@ static class RdmaIOPlugin : public Plugi
         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);

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp Tue Jul  1 19:12:38 2014
@@ -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);
         }

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp Tue Jul  1 19:12:38 2014
@@ -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);
         }

Modified: qpid/trunk/qpid/cpp/src/qpidd.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpidd.h?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpidd.h (original)
+++ qpid/trunk/qpid/cpp/src/qpidd.h Tue Jul  1 19:12:38 2014
@@ -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;
 

Modified: qpid/trunk/qpid/cpp/src/tests/BrokerFixture.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/BrokerFixture.h?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/BrokerFixture.h (original)
+++ qpid/trunk/qpid/cpp/src/tests/BrokerFixture.h Tue Jul  1 19:12:38 2014
@@ -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::n
     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())
     {}

Modified: qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp Tue Jul  1 19:12:38 2014
@@ -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 MessageLi
 
 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;

Modified: qpid/trunk/qpid/cpp/src/tests/MessagingFixture.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/MessagingFixture.h?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/MessagingFixture.h (original)
+++ qpid/trunk/qpid/cpp/src/tests/MessagingFixture.h Tue Jul  1 19:12:38 2014
@@ -103,7 +103,7 @@ struct MessagingFixture : public BrokerF
     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()),

Modified: qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp?rev=1607166&r1=1607165&r2=1607166&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp Tue Jul  1 19:12:38 
2014
@@ -46,7 +46,7 @@ QPID_AUTO_TEST_SUITE(MessagingSessionTes
 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");



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to