You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2012/08/27 17:40:45 UTC

svn commit: r1377715 [1/12] - in /qpid/branches/asyncstore: ./ bin/ cpp/ cpp/docs/api/ cpp/examples/old_api/tradedemo/ cpp/include/qmf/engine/ cpp/include/qpid/client/ cpp/src/ cpp/src/qmf/engine/ cpp/src/qpid/acl/ cpp/src/qpid/asyncStore/ cpp/src/qpid...

Author: kpvdr
Date: Mon Aug 27 15:40:33 2012
New Revision: 1377715

URL: http://svn.apache.org/viewvc?rev=1377715&view=rev
Log:
QPID-3858: Updated code to include recent refactoring by Gordon (gsim) - see QPID-4178.

Added:
    qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.cpp
    qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/IndexedDeque.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/IndexedDeque.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/LossyQueue.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/LossyQueue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/LossyQueue.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/LossyQueue.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Lvq.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/Lvq.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Lvq.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/Lvq.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MapHandler.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/MapHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueCursor.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueCursor.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueCursor.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueCursor.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueDepth.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueDepth.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueDepth.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueDepth.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueFactory.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueSettings.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueSettings.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/amqp_0_10/
      - copied from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/
    qpid/branches/asyncstore/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.h
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.h
    qpid/branches/asyncstore/cpp/src/tests/QueueDepth.cpp
      - copied unchanged from r1375508, qpid/trunk/qpid/cpp/src/tests/QueueDepth.cpp
    qpid/branches/asyncstore/java/amqp-1-0-client-jms/README.txt
      - copied unchanged from r1375508, qpid/trunk/qpid/java/amqp-1-0-client-jms/README.txt
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
      - copied unchanged from r1375508, qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
      - copied unchanged from r1375508, qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/ManagementLogActorTest.java
      - copied unchanged from r1375508, qpid/trunk/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/ManagementLogActorTest.java
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/configuration/CommonProperties.java
      - copied unchanged from r1375508, qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/configuration/CommonProperties.java
    qpid/branches/asyncstore/java/lib/poms/je-5.0.58.xml
      - copied unchanged from r1375508, qpid/trunk/qpid/java/lib/poms/je-5.0.58.xml
    qpid/branches/asyncstore/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
      - copied unchanged from r1375508, qpid/trunk/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
    qpid/branches/asyncstore/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
      - copied unchanged from r1375508, qpid/trunk/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
Removed:
    qpid/branches/asyncstore/cpp/src/cluster.cmake
    qpid/branches/asyncstore/cpp/src/cluster.mk
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueEvents.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueEvents.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueuePolicy.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueuePolicy.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Cluster.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Cluster.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterMap.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterMap.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterPlugin.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterSettings.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterTimer.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ClusterTimer.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Connection.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Connection.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ConnectionCodec.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ConnectionCodec.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Cpg.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Cpg.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/CredentialsExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/CredentialsExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Decoder.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Decoder.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Dispatchable.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ErrorCheck.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ErrorCheck.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Event.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Event.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/EventFrame.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/EventFrame.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ExpiryPolicy.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ExpiryPolicy.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/FailoverExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/FailoverExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/InitialStatusMap.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/InitialStatusMap.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/LockedConnectionMap.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/McastFrameHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/MemberSet.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/MemberSet.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Multicaster.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Multicaster.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Numbering.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/OutputInterceptor.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/OutputInterceptor.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/PollableQueue.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/PollerDispatch.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/PollerDispatch.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/ProxyInputHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Quorum.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Quorum_cman.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Quorum_cman.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/Quorum_null.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/RetractClient.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/RetractClient.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/SecureConnectionFactory.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/SecureConnectionFactory.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/StoreStatus.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/StoreStatus.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateClient.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateClient.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateDataExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateDataExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/UpdateReceiver.h
    qpid/branches/asyncstore/cpp/src/qpid/cluster/WatchDogPlugin.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/management-schema.xml
    qpid/branches/asyncstore/cpp/src/qpid/cluster/qpidd_watchdog.cpp
    qpid/branches/asyncstore/cpp/src/qpid/cluster/types.h
    qpid/branches/asyncstore/cpp/src/qpid/replication/ReplicatingEventListener.cpp
    qpid/branches/asyncstore/cpp/src/qpid/replication/ReplicatingEventListener.h
    qpid/branches/asyncstore/cpp/src/qpid/replication/ReplicationExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/replication/ReplicationExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/replication/constants.h
    qpid/branches/asyncstore/cpp/src/replication.mk
    qpid/branches/asyncstore/cpp/src/tests/MessageBuilderTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/QueueEvents.cpp
    qpid/branches/asyncstore/cpp/src/tests/ReplicationTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/TxPublishTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/cluster.cmake
    qpid/branches/asyncstore/cpp/src/tests/cluster.mk
    qpid/branches/asyncstore/java/client/test/
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/transport/ProtocolViolationException.java
    qpid/branches/asyncstore/java/lib/poms/je-5.0.55.xml
    qpid/branches/asyncstore/java/perftests/etc/chartdefs/1021-AcknowledgementModes-AutoAck.chartdef
    qpid/branches/asyncstore/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transacted.chartdef
    qpid/branches/asyncstore/java/systests/src/main/java/org/apache/qpid/server/queue/PersistentTestManual.java
Modified:
    qpid/branches/asyncstore/   (props changed)
    qpid/branches/asyncstore/bin/release.sh
    qpid/branches/asyncstore/cpp/CMakeLists.txt
    qpid/branches/asyncstore/cpp/configure.ac
    qpid/branches/asyncstore/cpp/docs/api/   (props changed)
    qpid/branches/asyncstore/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj   (props changed)
    qpid/branches/asyncstore/cpp/include/qmf/engine/Agent.h   (props changed)
    qpid/branches/asyncstore/cpp/include/qmf/engine/Console.h   (props changed)
    qpid/branches/asyncstore/cpp/include/qpid/client/SubscriptionManager.h
    qpid/branches/asyncstore/cpp/src/   (props changed)
    qpid/branches/asyncstore/cpp/src/CMakeLists.txt   (contents, props changed)
    qpid/branches/asyncstore/cpp/src/Makefile.am
    qpid/branches/asyncstore/cpp/src/asyncstore.cmake
    qpid/branches/asyncstore/cpp/src/qmf/engine/Agent.cpp   (props changed)
    qpid/branches/asyncstore/cpp/src/qpid/acl/   (props changed)
    qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.cpp
    qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.h
    qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.cpp
    qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.h
    qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.cpp
    qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.h
    qpid/branches/asyncstore/cpp/src/qpid/acl/AclReader.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/   (props changed)
    qpid/branches/asyncstore/cpp/src/qpid/broker/AclModule.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/AsyncCompletion.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Connection.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Consumer.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Deliverable.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/DeliverableMessage.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/DeliverableMessage.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/DeliveryAdapter.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/DeliveryRecord.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/DeliveryRecord.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/DtxAck.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Exchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Exchange.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/ExpiryPolicy.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/ExpiryPolicy.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Fairshare.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Fairshare.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/FifoDistributor.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/FifoDistributor.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/HeadersExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/HeadersExchange.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/LegacyLVQ.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/LegacyLVQ.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Link.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/LinkRegistry.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/LinkRegistry.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Message.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Message.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageBuilder.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageBuilder.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageDeque.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageDeque.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageDistributor.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageGroupManager.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageGroupManager.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageMap.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/MessageMap.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Messages.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Persistable.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/PersistableMessage.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/PersistableMessage.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/PriorityQueue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/PriorityQueue.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/Queue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/Queue.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFlowLimit.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFlowLimit.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueObserver.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/QueuedMessage.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/SessionAdapter.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SessionHandler.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SessionHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/SessionState.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SessionState.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/SimpleMessage.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SimpleMessage.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/SimpleQueue.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/SimpleQueuedMessage.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/ThresholdAlerts.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/ThresholdAlerts.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxAccept.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxOp.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxOpVisitor.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxPublish.cpp
    qpid/branches/asyncstore/cpp/src/qpid/broker/TxPublish.h
    qpid/branches/asyncstore/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
    qpid/branches/asyncstore/cpp/src/qpid/client/SslConnector.cpp
    qpid/branches/asyncstore/cpp/src/qpid/client/SubscriptionManagerImpl.cpp
    qpid/branches/asyncstore/cpp/src/qpid/client/TCPConnector.cpp
    qpid/branches/asyncstore/cpp/src/qpid/client/TCPConnector.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/Backup.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/Backup.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/BackupConnectionExcluder.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/ConnectionObserver.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/ConnectionObserver.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/HaBroker.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/HaBroker.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/Membership.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/Membership.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/Primary.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/QueueGuard.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/QueueGuard.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/RemoteBackup.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/ReplicatingSubscription.cpp
    qpid/branches/asyncstore/cpp/src/qpid/ha/ReplicatingSubscription.h
    qpid/branches/asyncstore/cpp/src/qpid/ha/ReplicationTest.cpp
    qpid/branches/asyncstore/cpp/src/qpid/management/ManagementAgent.cpp   (contents, props changed)
    qpid/branches/asyncstore/cpp/src/qpid/management/ManagementAgent.h   (props changed)
    qpid/branches/asyncstore/cpp/src/qpid/management/ManagementDirectExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/management/ManagementTopicExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/store/MessageStorePlugin.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/AsynchIO.h
    qpid/branches/asyncstore/cpp/src/qpid/sys/AsynchIOHandler.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/AsynchIOHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/sys/SslPlugin.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/TCPIOPlugin.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/epoll/EpollPoller.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/posix/AsynchIO.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/posix/SystemInfo.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/ssl/SslHandler.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/ssl/SslHandler.h
    qpid/branches/asyncstore/cpp/src/qpid/sys/ssl/SslIo.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/ssl/SslIo.h
    qpid/branches/asyncstore/cpp/src/qpid/sys/windows/AsynchIO.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/windows/SslAsynchIO.cpp
    qpid/branches/asyncstore/cpp/src/qpid/sys/windows/SslAsynchIO.h
    qpid/branches/asyncstore/cpp/src/qpid/sys/windows/Time.cpp
    qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.cpp
    qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.h
    qpid/branches/asyncstore/cpp/src/tests/   (props changed)
    qpid/branches/asyncstore/cpp/src/tests/CMakeLists.txt
    qpid/branches/asyncstore/cpp/src/tests/ClientSessionTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/DeliveryRecordTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/ExchangeTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/Makefile.am
    qpid/branches/asyncstore/cpp/src/tests/MessageTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/MessageUtils.h
    qpid/branches/asyncstore/cpp/src/tests/QueueFlowLimitTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/QueuePolicyTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/QueueRegistryTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/QueueTest.cpp
    qpid/branches/asyncstore/cpp/src/tests/TxMocks.h
    qpid/branches/asyncstore/cpp/src/tests/acl.py
    qpid/branches/asyncstore/cpp/src/tests/cluster_tests.py   (props changed)
    qpid/branches/asyncstore/cpp/src/tests/ha_tests.py
    qpid/branches/asyncstore/cpp/src/tests/sasl.mk
    qpid/branches/asyncstore/cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp
    qpid/branches/asyncstore/cpp/src/tests/test_store.cpp
    qpid/branches/asyncstore/doc/book/src/cpp-broker/.gitignore
    qpid/branches/asyncstore/doc/book/src/java-broker/HA-Guide.xml
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-Key.svg
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-MasterFail.svg
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-NetworkPartition.svg
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-Normal.svg
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-ReplicaFail.svg
    qpid/branches/asyncstore/doc/book/src/java-broker/images/HA-2N-SplitBrain.svg
    qpid/branches/asyncstore/doc/book/src/programming/Programming-In-Apache-Qpid-Book.xml
    qpid/branches/asyncstore/extras/qmf/src/py/qmf/console.py
    qpid/branches/asyncstore/java/   (props changed)
    qpid/branches/asyncstore/java/.gitignore
    qpid/branches/asyncstore/java/amqp-1-0-client/   (props changed)
    qpid/branches/asyncstore/java/amqp-1-0-client-jms/   (props changed)
    qpid/branches/asyncstore/java/amqp-1-0-client-jms/build.xml
    qpid/branches/asyncstore/java/amqp-1-0-common/   (props changed)
    qpid/branches/asyncstore/java/broker/   (props changed)
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/main/java/resources/showBroker.html
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/AuthenticationProviderRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BindingRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/PortRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/UserRestTest.java
    qpid/branches/asyncstore/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
    qpid/branches/asyncstore/java/broker/bin/   (props changed)
    qpid/branches/asyncstore/java/broker/etc/broker_example.acl
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/management/   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/model/Model.java
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/queue/   (props changed)
    qpid/branches/asyncstore/java/broker/src/main/java/org/apache/qpid/server/virtualhost/   (props changed)
    qpid/branches/asyncstore/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java
    qpid/branches/asyncstore/java/build.deps
    qpid/branches/asyncstore/java/client/src/main/java/org/apache/qpid/client/AMQBrokerDetails.java
    qpid/branches/asyncstore/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java
    qpid/branches/asyncstore/java/client/src/test/java/org/apache/qpid/test/unit/client/BrokerDetails/BrokerDetailsTest.java
    qpid/branches/asyncstore/java/common.xml
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/configuration/ClientProperties.java
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/transport/Connection.java
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java
    qpid/branches/asyncstore/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java
    qpid/branches/asyncstore/java/ivy.retrieve.xml
    qpid/branches/asyncstore/java/ivysettings.retrieve.xml
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java   (props changed)
    qpid/branches/asyncstore/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java   (props changed)
    qpid/branches/asyncstore/java/perftests/etc/testdefs/Topic-AckModes.js
    qpid/branches/asyncstore/java/perftests/etc/testdefs/Topic-NumberOfConsumers.js
    qpid/branches/asyncstore/java/perftests/etc/testdefs/Topic-NumberOfTopics.js
    qpid/branches/asyncstore/java/perftests/etc/testdefs/Topic-Persistence.js
    qpid/branches/asyncstore/java/perftests/example/perftests.js
    qpid/branches/asyncstore/java/perftests/src/main/java/test-utils.js
    qpid/branches/asyncstore/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
    qpid/branches/asyncstore/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html   (contents, props changed)
    qpid/branches/asyncstore/java/systests/etc/log.properties
    qpid/branches/asyncstore/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java   (props changed)
    qpid/branches/asyncstore/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java   (props changed)
    qpid/branches/asyncstore/java/test-profiles/   (props changed)
    qpid/branches/asyncstore/java/test-profiles/CPPExcludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/Excludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/JavaBDBExcludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/JavaExcludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/JavaPre010Excludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/JavaTransientExcludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/XAExcludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.async.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.cluster.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.noprefetch.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.ssl.excludes   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.ssl.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/cpp.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-bdb-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-bdb.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-dby-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-dby.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-mms-spawn.0-10.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-mms-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/java-mms.0-9-1.testprofile   (props changed)
    qpid/branches/asyncstore/java/test-profiles/log4j-test.xml   (props changed)
    qpid/branches/asyncstore/java/test-profiles/python_tests/Java010PythonExcludes
    qpid/branches/asyncstore/java/test-profiles/test-provider.properties   (props changed)
    qpid/branches/asyncstore/java/test-profiles/test_resources/   (props changed)
    qpid/branches/asyncstore/java/test-profiles/testprofile.defaults   (props changed)
    qpid/branches/asyncstore/packaging/windows/   (props changed)
    qpid/branches/asyncstore/python/   (props changed)
    qpid/branches/asyncstore/python/examples/api/spout   (props changed)
    qpid/branches/asyncstore/python/qpid/concurrency.py   (props changed)
    qpid/branches/asyncstore/python/qpid/util.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/alternate_exchange.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/management.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/msg_groups.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/new_api.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/priority.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_10/threshold.py
    qpid/branches/asyncstore/tests/src/py/qpid_tests/broker_0_9/queue.py   (props changed)

Propchange: qpid/branches/asyncstore/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid:r1368652-1375508

Modified: qpid/branches/asyncstore/bin/release.sh
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/bin/release.sh?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/bin/release.sh (original)
+++ qpid/branches/asyncstore/bin/release.sh Mon Aug 27 15:40:33 2012
@@ -218,8 +218,12 @@ if [ "JAVA" == "$JAVA" ] ; then
 
   cp qpid-${VER}/java/broker/release/*.tar.gz artifacts/qpid-java-broker-${VER}.tar.gz
   cp qpid-${VER}/java/client/release/*.tar.gz artifacts/qpid-java-client-${VER}.tar.gz
+  cp qpid-${VER}/java/amqp-1-0-client-jms/release/*.tar.gz artifacts/qpid-java-amqp-1-0-client-jms-${VER}.tar.gz
 
   # copy the Maven artifacts
+  cp -a qpid-${VER}/java/amqp-1-0-client/release/maven artifacts/
+  cp -a qpid-${VER}/java/amqp-1-0-client-jms/release/maven artifacts/
+  cp -a qpid-${VER}/java/amqp-1-0-common/release/maven artifacts/
   cp -a qpid-${VER}/java/client/release/maven artifacts/
   cp -a qpid-${VER}/java/common/release/maven artifacts/
   cp -a qpid-${VER}/java/broker/release/maven artifacts/

Modified: qpid/branches/asyncstore/cpp/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/CMakeLists.txt?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/CMakeLists.txt Mon Aug 27 15:40:33 2012
@@ -60,7 +60,6 @@ set (QPIDD_CONF_FILE ${QPID_INSTALL_CONF
      "Name of the Qpid broker configuration file")
 
 install(FILES  LICENSE NOTICE  DESTINATION ${CMAKE_INSTALL_PREFIX})
-install(FILES  xml/cluster.xml DESTINATION ${QPID_INSTALL_DATADIR})
 
 if (WIN32)
    set (CMAKE_DEBUG_POSTFIX "d")

Modified: qpid/branches/asyncstore/cpp/configure.ac
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/configure.ac?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/configure.ac (original)
+++ qpid/branches/asyncstore/cpp/configure.ac Mon Aug 27 15:40:33 2012
@@ -256,54 +256,6 @@ AC_SUBST(DOWNLOAD_URL)
 AC_CHECK_HEADERS([boost/shared_ptr.hpp uuid/uuid.h],,
   AC_MSG_ERROR([Missing required header files.]))
 
-# Check for optional cluster requirements.
-tmp_LIBS=$LIBS
-tmp_LDFLAGS=$LDFLAGS
-LDFLAGS="$LDFLAGS -L/usr/lib/openais -L/usr/lib64/openais -L/usr/lib/corosync -L/usr/lib64/corosync"
-AC_CHECK_LIB([cpg],[cpg_local_get],[have_libcpg=yes],)
-AC_CHECK_HEADERS([openais/cpg.h corosync/cpg.h],[have_cpg_h=yes],)
-AC_ARG_WITH([cpg],
-  [AS_HELP_STRING([--with-cpg], [Build with CPG support for clustering.])],
-  [case "${withval}" in
-    yes)			# yes - require dependencies
-    test x$have_libcpg = xyes || AC_MSG_ERROR([libcpg not found, install openais-devel or corosync-devel])
-    test x$have_cpg_h = xyes || AC_MSG_ERROR([cpg.h not found, install openais-devel or corosync-devel])
-    with_cpg=yes
-    ;;
-    no) with_cpg=no ;;
-    *) AC_MSG_ERROR([Bad value ${withval} for --with-cpg option]) ;;
-   esac],
-   [		   # not specified - use if present
-    test x$have_libcpg = xyes -a x$have_cpg_h = xyes && with_cpg=yes
-   ]
-)
-AM_CONDITIONAL([HAVE_LIBCPG], [test x$with_cpg = xyes])
-AC_SUBST(USE_CPG, [$with_cpg])
-
-# Clean up unnceccassary flags if we don't use clustering
-AS_IF([test ! x$with_cpg = xyes], [LDFLAGS=$tmp_LDFLAGS])
-
-AC_CHECK_LIB([cman],[cman_is_quorate],have_libcman=yes,)
-AC_CHECK_HEADERS([libcman.h],have_libcman_h=yes,)
-AC_ARG_WITH([libcman],
-  [AS_HELP_STRING([--with-libcman], [Integration with libcman quorum service.])],
-  [case "${withval}" in
-    yes)			# yes - require dependencies
-    test x$have_libcman = xyes || AC_MSG_ERROR([libcman not found, install cman-devel or cmanlib-devel])
-    test x$have_libcman_h = xyes || AC_MSG_ERROR([libcman.h not found, install cman-devel or cmanlib-devel])
-    with_libcman=yes
-    ;;
-    no) with_libcman=no ;;
-    *) AC_MSG_ERROR([Bad value ${withval} for --with-libcman option]) ;;
-   esac],
-   [				# not specified - use if present and we're using with_cpg
-    test x$have_libcman = xyes -a x$have_libcman_h = xyes -a x$with_cpg = xyes &&   with_libcman=yes
-   ]
-)
-AM_CONDITIONAL([HAVE_LIBCMAN], [test x$with_libcman = xyes])
-
-LIBS=$tmp_LIBS
-
 # Setup --with-sasl/--without-sasl as arguments to configure
 AC_ARG_WITH([sasl],
   [AS_HELP_STRING([--with-sasl], [Build with SASL authentication support])],

Propchange: qpid/branches/asyncstore/cpp/docs/api/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/docs/api:r1368652-1375508

Propchange: qpid/branches/asyncstore/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj:r1368652-1375508

Propchange: qpid/branches/asyncstore/cpp/include/qmf/engine/Agent.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/include/qmf/engine/Agent.h:r1368652-1375508

Propchange: qpid/branches/asyncstore/cpp/include/qmf/engine/Console.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/include/qmf/engine/Console.h:r1368652-1375508

Modified: qpid/branches/asyncstore/cpp/include/qpid/client/SubscriptionManager.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/include/qpid/client/SubscriptionManager.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/include/qpid/client/SubscriptionManager.h (original)
+++ qpid/branches/asyncstore/cpp/include/qpid/client/SubscriptionManager.h Mon Aug 27 15:40:33 2012
@@ -280,8 +280,8 @@ class QPID_CLIENT_CLASS_EXTERN Subscript
 /** AutoCancel cancels a subscription in its destructor */
 class AutoCancel {
   public:
-    AutoCancel(SubscriptionManager& sm_, const std::string& tag_) : sm(sm_), tag(tag_) {}
-    ~AutoCancel() { sm.cancel(tag); }
+    AutoCancel(SubscriptionManager&, const std::string& tag);
+    ~AutoCancel();
   private:
     SubscriptionManager& sm;
     std::string tag;

Propchange: qpid/branches/asyncstore/cpp/src/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src:r1368652-1375508

Modified: qpid/branches/asyncstore/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/CMakeLists.txt?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/src/CMakeLists.txt Mon Aug 27 15:40:33 2012
@@ -167,7 +167,7 @@ inherit_value ("winver_LEGAL_COPYRIGHT" 
 
 
 # check if we generate source as part of the build
-#   - rubygen generates the amqp spec and clustering
+#   - rubygen generates the amqp spec
 #   - managementgen generates the broker management code
 #
 # rubygen subdir is excluded from stable distributions
@@ -186,7 +186,7 @@ if (EXISTS ${AMQP_SPEC})
     message(FATAL_ERROR "Can't locate python, needed to generate source files.")
   endif (NOT PYTHON_EXECUTABLE)
 
-  set(specs ${AMQP_SPEC} ${qpid-cpp_SOURCE_DIR}/xml/cluster.xml)
+  set(specs ${AMQP_SPEC})
   set(regen_amqp OFF)
   set(rgen_dir ${qpid-cpp_SOURCE_DIR}/rubygen)
   file(GLOB_RECURSE rgen_progs ${rgen_dir}/*.rb)
@@ -207,7 +207,6 @@ execute_process(COMMAND ${RUBY_EXECUTABL
 
   set(mgmt_specs ${AMQP_SPEC_DIR}/management-schema.xml
                  ${CMAKE_CURRENT_SOURCE_DIR}/qpid/acl/management-schema.xml
-                 ${CMAKE_CURRENT_SOURCE_DIR}/qpid/cluster/management-schema.xml
                  ${CMAKE_CURRENT_SOURCE_DIR}/qpid/ha/management-schema.xml
   )
   set(mgen_dir ${qpid-cpp_SOURCE_DIR}/managementgen)
@@ -672,9 +671,6 @@ if (BUILD_HA)
              COMPONENT ${QPID_COMPONENT_BROKER})
 endif (BUILD_HA)
 
-# Check for optional cluster support requirements
-include (cluster.cmake)
-
 # Check for optional RDMA support requirements
 include (rdma.cmake)
 
@@ -1117,7 +1113,6 @@ set (qpidbroker_SOURCES
      qpid/broker/Exchange.cpp
      qpid/broker/ExpiryPolicy.cpp
      qpid/broker/Fairshare.cpp
-     qpid/broker/LegacyLVQ.cpp
      qpid/broker/MessageDeque.cpp
      qpid/broker/MessageMap.cpp
      qpid/broker/PriorityQueue.cpp
@@ -1144,17 +1139,22 @@ set (qpidbroker_SOURCES
      qpid/broker/HeadersExchange.cpp
      qpid/broker/Link.cpp
      qpid/broker/LinkRegistry.cpp
+     qpid/broker/LossyQueue.cpp
+     qpid/broker/Lvq.cpp
      qpid/broker/Message.cpp
      qpid/broker/MessageAdapter.cpp
      qpid/broker/MessageBuilder.cpp
+     qpid/broker/MessageHandle.cpp
      qpid/broker/MessageStoreModule.cpp
      qpid/broker/NameGenerator.cpp
      qpid/broker/NullMessageStore.cpp
      qpid/broker/QueueBindings.cpp
      qpid/broker/QueuedMessage.cpp
-     qpid/broker/QueueEvents.cpp
-     qpid/broker/QueuePolicy.cpp
+     qpid/broker/QueueCursor.cpp
+     qpid/broker/QueueDepth.cpp
+     qpid/broker/QueueFactory.cpp
      qpid/broker/QueueRegistry.cpp
+     qpid/broker/QueueSettings.cpp
      qpid/broker/QueueFlowLimit.cpp
      qpid/broker/RecoveryManagerImpl.cpp
      qpid/broker/RecoveredEnqueue.cpp
@@ -1177,8 +1177,8 @@ set (qpidbroker_SOURCES
      qpid/broker/TopicExchange.cpp
      qpid/broker/TxAccept.cpp
      qpid/broker/TxBuffer.cpp
-     qpid/broker/TxPublish.cpp
      qpid/broker/Vhost.cpp
+     qpid/broker/amqp_0_10/MessageTransfer.cpp
      qpid/management/ManagementAgent.cpp
      qpid/management/ManagementDirectExchange.cpp
      qpid/management/ManagementTopicExchange.cpp
@@ -1433,45 +1433,6 @@ install (FILES ${qmfconsole_HEADERS}
          COMPONENT ${QPID_COMPONENT_QMF})
 install_pdb (qmfconsole ${QPID_COMPONENT_QMF})
 
-# A queue event listener plugin that creates messages on a replication
-# queue corresponding to enqueue and dequeue events:
-set (replicating_listener_SOURCES
-     qpid/replication/constants.h
-     qpid/replication/ReplicatingEventListener.cpp
-     qpid/replication/ReplicatingEventListener.h
-    )
-add_msvc_version (replicating_listener library dll)
-add_library (replicating_listener MODULE ${replicating_listener_SOURCES})
-target_link_libraries (replicating_listener qpidbroker ${Boost_PROGRAM_OPTIONS_LIBRARY})
-set_target_properties (replicating_listener PROPERTIES PREFIX "")
-if (CMAKE_COMPILER_IS_GNUCXX)
-  set_target_properties(replicating_listener PROPERTIES
-                        LINK_FLAGS "${GCC_CATCH_UNDEFINED}")
-endif (CMAKE_COMPILER_IS_GNUCXX)
-install (TARGETS replicating_listener
-         DESTINATION ${QPIDD_MODULE_DIR}
-         COMPONENT ${QPID_COMPONENT_BROKER})
-
-# A custom exchange plugin that allows an exchange to be created that
-# can process the messages from a replication queue (populated on the
-# source system by the replicating listener plugin above) and take the
-# corresponding action on the local queues
-set (replication_exchange_SOURCES
-     qpid/replication/constants.h
-     qpid/replication/ReplicationExchange.cpp
-     qpid/replication/ReplicationExchange.h
-    )
-add_msvc_version (replication_exchange library dll)
-add_library (replication_exchange MODULE ${replication_exchange_SOURCES})
-target_link_libraries (replication_exchange qpidbroker)
-set_target_properties (replication_exchange PROPERTIES PREFIX "")
-if (CMAKE_COMPILER_IS_GNUCXX)
-  set_target_properties(replication_exchange PROPERTIES
-                        LINK_FLAGS "${GCC_CATCH_UNDEFINED}")
-endif (CMAKE_COMPILER_IS_GNUCXX)
-install (TARGETS replication_exchange
-         DESTINATION ${QPIDD_MODULE_DIR}
-         COMPONENT ${QPID_COMPONENT_BROKER})
 
 # This is only really needed until all the trunk builds (Linux, UNIX, Windows)
 # are all on cmake only. This is because cmake builds always have a config.h

Propchange: qpid/branches/asyncstore/cpp/src/CMakeLists.txt
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/CMakeLists.txt:r1368652-1375508

Modified: qpid/branches/asyncstore/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/Makefile.am?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/src/Makefile.am Mon Aug 27 15:40:33 2012
@@ -85,7 +85,7 @@ if GENERATE
 
 # AMQP_FINAL_XML is defined in ../configure.ac
 amqp_0_10_xml=@AMQP_FINAL_XML@
-specs=$(amqp_0_10_xml) $(top_srcdir)/xml/cluster.xml
+specs=$(amqp_0_10_xml)
 
 # Ruby generator.
 rgen_dir=$(top_srcdir)/rubygen
@@ -104,7 +104,6 @@ $(srcdir)/rubygen.cmake: $(rgen_generato
 mgen_dir=$(top_srcdir)/managementgen
 mgen_xml=$(top_srcdir)/../specs/management-schema.xml \
 	$(srcdir)/qpid/acl/management-schema.xml \
-	$(srcdir)/qpid/cluster/management-schema.xml \
 	$(srcdir)/qpid/ha/management-schema.xml
 mgen_cmd=$(mgen_dir)/qmf-gen -m $(srcdir)/managementgen.mk \
 	-c $(srcdir)/managementgen.cmake -q -b -l -o qmf \
@@ -217,7 +216,6 @@ cmoduleexecdir=$(libdir)/qpid/client
 dmoduleexec_LTLIBRARIES =
 cmoduleexec_LTLIBRARIES =
 
-include cluster.mk
 include ha.mk
 include acl.mk
 include qmf.mk
@@ -225,7 +223,6 @@ include qmfc.mk
 if HAVE_XML
 include xml.mk
 endif
-include replication.mk
 
 if RDMA
 
@@ -292,7 +289,6 @@ endif
 
 EXTRA_DIST +=\
   CMakeLists.txt \
-  cluster.cmake \
   config.h.cmake \
   rdma.cmake \
   ssl.cmake \
@@ -337,6 +333,7 @@ libqpidcommon_la_LIBADD = \
   -lboost_program_options \
   -lboost_filesystem \
   -luuid \
+  -lpthread \
   $(LIB_DLOPEN) \
   $(LIB_CLOCK_GETTIME)
 
@@ -559,7 +556,6 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/Deliverable.h \
   qpid/broker/DeliverableMessage.cpp \
   qpid/broker/DeliverableMessage.h \
-  qpid/broker/DeliveryAdapter.h \
   qpid/broker/DeliveryId.h \
   qpid/broker/DeliveryRecord.cpp \
   qpid/broker/DeliveryRecord.h \
@@ -590,12 +586,14 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/HeadersExchange.cpp \
   qpid/broker/HeadersExchange.h \
   qpid/broker/AsyncCompletion.h \
-  qpid/broker/LegacyLVQ.h \
-  qpid/broker/LegacyLVQ.cpp \
+  qpid/broker/IndexedDeque.h \
   qpid/broker/Link.cpp \
   qpid/broker/Link.h \
   qpid/broker/LinkRegistry.cpp \
   qpid/broker/LinkRegistry.h \
+  qpid/broker/Lvq.h \
+  qpid/broker/Lvq.cpp \
+  qpid/broker/MapHandler.h \
   qpid/broker/Message.cpp \
   qpid/broker/Message.h \
   qpid/broker/MessageAdapter.cpp \
@@ -630,19 +628,25 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/QueueBindings.h \
   qpid/broker/QueueCleaner.cpp \
   qpid/broker/QueueCleaner.h \
-  qpid/broker/QueueEvents.cpp \
-  qpid/broker/QueueEvents.h \
+  qpid/broker/QueueCursor.h \
+  qpid/broker/QueueCursor.cpp \
+  qpid/broker/QueueDepth.h \
+  qpid/broker/QueueDepth.cpp \
+  qpid/broker/QueueFactory.h \
+  qpid/broker/QueueFactory.cpp \
+  qpid/broker/QueueSettings.h \
+  qpid/broker/QueueSettings.cpp \
   qpid/broker/QueueListeners.cpp \
   qpid/broker/QueueListeners.h \
   qpid/broker/QueueObserver.h \
-  qpid/broker/QueuePolicy.cpp \
-  qpid/broker/QueuePolicy.h \
   qpid/broker/QueueRegistry.cpp \
   qpid/broker/QueueRegistry.h \
   qpid/broker/QueuedMessage.cpp \
   qpid/broker/QueuedMessage.h \
   qpid/broker/QueueFlowLimit.h \
   qpid/broker/QueueFlowLimit.cpp \
+  qpid/broker/LossyQueue.h \
+  qpid/broker/LossyQueue.cpp \
   qpid/broker/RecoverableConfig.h \
   qpid/broker/RecoverableExchange.h \
   qpid/broker/RecoverableMessage.h \
@@ -693,9 +697,6 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/TxBuffer.cpp \
   qpid/broker/TxBuffer.h \
   qpid/broker/TxOp.h \
-  qpid/broker/TxOpVisitor.h \
-  qpid/broker/TxPublish.cpp \
-  qpid/broker/TxPublish.h \
   qpid/broker/Vhost.cpp \
   qpid/broker/Vhost.h \
   qpid/broker/MessageDistributor.h \
@@ -703,6 +704,8 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/FifoDistributor.cpp \
   qpid/broker/MessageGroupManager.cpp \
   qpid/broker/MessageGroupManager.h \
+  qpid/broker/amqp_0_10/MessageTransfer.h \
+  qpid/broker/amqp_0_10/MessageTransfer.cpp \
   qpid/management/ManagementAgent.cpp \
   qpid/management/ManagementAgent.h \
   qpid/management/ManagementDirectExchange.cpp \

Modified: qpid/branches/asyncstore/cpp/src/asyncstore.cmake
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/asyncstore.cmake?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/asyncstore.cmake (original)
+++ qpid/branches/asyncstore/cpp/src/asyncstore.cmake Mon Aug 27 15:40:33 2012
@@ -51,6 +51,7 @@ set (asyncStore_SOURCES
 	qpid/asyncStore/EventHandleImpl.cpp
 	qpid/asyncStore/MessageHandleImpl.cpp
 	qpid/asyncStore/OperationQueue.cpp
+	qpid/asyncStore/PersistableMessageContext.cpp
 	qpid/asyncStore/Plugin.cpp
 	qpid/asyncStore/QueueHandleImpl.cpp
 	qpid/asyncStore/RunState.cpp

Propchange: qpid/branches/asyncstore/cpp/src/qmf/engine/Agent.cpp
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qmf/engine/Agent.cpp:r1368652-1375508

Propchange: qpid/branches/asyncstore/cpp/src/qpid/acl/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/acl:r1368652-1375508

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.cpp Mon Aug 27 15:40:33 2012
@@ -129,6 +129,13 @@ bool Acl::approveConnection(const qpid::
     return connectionCounter->approveConnection(conn);
 }
 
+
+void Acl::setUserId(const qpid::broker::Connection& connection, const std::string& username)
+{
+    connectionCounter->setUserId(connection, username);
+}
+
+
 bool Acl::result(
     const AclResult&   aclreslt,
     const std::string& id,

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/Acl.h Mon Aug 27 15:40:33 2012
@@ -94,6 +94,8 @@ public:
 
     virtual bool approveConnection(const broker::Connection& connection);
 
+    virtual void setUserId(const broker::Connection& connection, const std::string& username);
+
     virtual ~Acl();
 private:
     bool result(

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.cpp Mon Aug 27 15:40:33 2012
@@ -296,6 +296,47 @@ bool ConnectionCounter::approveConnectio
     }
 }
 
+
+//
+// setUserId
+//  On cluster shadow connections, track a new user id for this connection.
+//
+void ConnectionCounter::setUserId(const broker::Connection& connection,
+                                  const std::string& username)
+{
+    Mutex::ScopedLock locker(dataLock);
+
+    connectCountsMap_t::iterator eRef = connectProgressMap.find(connection.getMgmtId());
+    if (eRef != connectProgressMap.end()) {
+        if ((*eRef).second == C_OPENED){
+            // Connection has been opened so that current user has been counted
+            if (connection.isShadow()) {
+                // This is a shadow connection and therefore receives userId changes
+                QPID_LOG(debug, "Changing User ID for cluster connection: "
+                    << connection.getMgmtId() << ", old user:'" << connection.getUserId()
+                    << "', new user:'" << username << "'");
+
+                // Decrement user in-use count for old userId
+                releaseLH(connectByNameMap,
+                        connection.getUserId(),
+                        nameLimit);
+                // Increment user in-use count for new userId
+                (void) countConnectionLH(connectByNameMap, username, nameLimit, false);
+            } else {
+                QPID_LOG(warning, "Changing User ID for non-cluster connections is not supported: "
+                    << connection.getMgmtId() << ", old user " << connection.getUserId()
+                    << ", new user " << username);
+            }
+        } else {
+            // connection exists  but has not been opened.
+            // setUserId is called in normal course. The user gets counted when connection is opened.
+        }
+    } else {
+        // Connection does not exist.
+    }
+}
+
+
 //
 // getClientIp - given a connection's mgmtId return the client host part.
 //

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/AclConnectionCounter.h Mon Aug 27 15:40:33 2012
@@ -94,6 +94,7 @@ public:
 
     // Connection counting
     bool approveConnection(const broker::Connection& conn);
+    void setUserId(const broker::Connection& connection, const std::string& username);
 };
 
 }} // namespace qpid::ha

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.cpp Mon Aug 27 15:40:33 2012
@@ -25,6 +25,13 @@ namespace qpid {
 namespace acl {
 
     //
+    // Instantiate the substitution keyword string
+    //
+    const std::string AclData::USER_SUBSTITUTION_KEYWORD       = "${user}";
+    const std::string AclData::DOMAIN_SUBSTITUTION_KEYWORD     = "${domain}";
+    const std::string AclData::USERDOMAIN_SUBSTITUTION_KEYWORD = "${userdomain}";
+
+    //
     // constructor
     //
     AclData::AclData():
@@ -147,7 +154,17 @@ namespace acl {
                         // the calling args and not in the param map.
                         if (rulePropMapItr->first == acl::SPECPROP_NAME)
                         {
-                            if (matchProp(rulePropMapItr->second, name))
+                            // substitute user name into object name
+                            bool result;
+                            if (rsItr->ruleHasUserSub[PROP_NAME]) {
+                                std::string sName(rulePropMapItr->second);
+                                substituteUserId(sName, id);
+                                result = matchProp(sName, name);
+                            } else {
+                                result = matchProp(rulePropMapItr->second, name);
+                            }
+
+                            if (result)
                             {
                                 QPID_LOG(debug, "ACL: lookup name '" << name
                                     << "' matched with rule name '"
@@ -222,7 +239,20 @@ namespace acl {
                                         break;
 
                                     default:
-                                        if (matchProp(rulePropMapItr->second, lookupParamItr->second))
+                                        bool result;
+                                        if ((SPECPROP_ALTERNATE  == rulePropMapItr->first && rsItr->ruleHasUserSub[PROP_ALTERNATE])  ||
+                                            (SPECPROP_ROUTINGKEY == rulePropMapItr->first && rsItr->ruleHasUserSub[PROP_ROUTINGKEY]) ||
+                                            (SPECPROP_QUEUENAME  == rulePropMapItr->first && rsItr->ruleHasUserSub[PROP_QUEUENAME]))
+                                        {
+                                            // These properties are allowed to have username substitution
+                                            std::string sName(rulePropMapItr->second);
+                                            substituteUserId(sName, id);
+                                            result = matchProp(sName, lookupParamItr->second);
+                                        } else {
+                                            result = matchProp(rulePropMapItr->second, lookupParamItr->second);
+                                        }
+
+                                        if (result)
                                         {
                                             QPID_LOG(debug, "ACL: the pair("
                                                 << AclHelper::getPropertyStr(lookupParamItr->first)
@@ -346,7 +376,18 @@ namespace acl {
                     bool match =true;
                     if (rsItr->pubExchNameInRule)
                     {
-                        if (matchProp(rsItr->pubExchName, name))
+                        // substitute user name into object name
+                        bool result;
+
+                        if (rsItr->ruleHasUserSub[PROP_NAME]) {
+                            std::string sName(rsItr->pubExchName);
+                            substituteUserId(sName, id);
+                            result = matchProp(sName, name);
+                        } else {
+                            result = matchProp(rsItr->pubExchName, name);
+                        }
+
+                        if (result)
                         {
                             QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup exchange name '"
                                 << name << "' matched with rule name '"
@@ -364,18 +405,40 @@ namespace acl {
 
                     if (match && rsItr->pubRoutingKeyInRule)
                     {
-                        if (rsItr->matchRoutingKey(routingKey))
+                        if ((routingKey.find(USER_SUBSTITUTION_KEYWORD, 0)       != std::string::npos) ||
+                            (routingKey.find(DOMAIN_SUBSTITUTION_KEYWORD, 0)     != std::string::npos) ||
+                            (routingKey.find(USERDOMAIN_SUBSTITUTION_KEYWORD, 0) != std::string::npos))
                         {
-                            QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup key name '"
-                                << routingKey << "' matched with rule routing key '"
-                                << rsItr->pubRoutingKey << "'");
+                            // The user is not allowed to present a routing key with the substitution key in it
+                            QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum <<
+                                " User-specified routing key has substitution wildcard:" << routingKey
+                                << ". Rule match prohibited.");
+                            match = false;
                         }
                         else
                         {
-                            QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup key name '"
-                                << routingKey << "' did not match with rule routing key '"
-                                << rsItr->pubRoutingKey << "'");
-                            match = false;
+                            bool result;
+                            if (rsItr->ruleHasUserSub[PROP_ROUTINGKEY]) {
+                                std::string sKey(routingKey);
+                                substituteKeywords(sKey, id);
+                                result = rsItr->matchRoutingKey(sKey);
+                            } else {
+                                result = rsItr->matchRoutingKey(routingKey);
+                            }
+
+                            if (result)
+                            {
+                                QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup key name '"
+                                    << routingKey << "' matched with rule routing key '"
+                                    << rsItr->pubRoutingKey << "'");
+                            }
+                            else
+                            {
+                                QPID_LOG(debug, "ACL: Rule: " << rsItr->rawRuleNum << " lookup key name '"
+                                    << routingKey << "' did not match with rule routing key '"
+                                    << rsItr->pubRoutingKey << "'");
+                                match = false;
+                            }
                         }
                     }
 
@@ -501,4 +564,102 @@ namespace acl {
         return true;
     }
 
+    const std::string DOMAIN_SEPARATOR("@");
+    const std::string PERIOD(".");
+    const std::string UNDERSCORE("_");
+    //
+    // substituteString
+    //   Given a name string from an Acl rule, substitute the replacement into it
+    //   wherever the placeholder directs.
+    //
+    void AclData::substituteString(std::string& targetString,
+                                   const std::string& placeholder,
+                                   const std::string& replacement)
+    {
+        assert (!placeholder.empty());
+        if (placeholder.empty())
+            return;
+        size_t start_pos(0);
+        while((start_pos = targetString.find(placeholder, start_pos)) != std::string::npos)
+        {
+            targetString.replace(start_pos, placeholder.length(), replacement);
+            start_pos += replacement.length();
+        }
+    }
+
+
+    //
+    // normalizeUserId
+    //   Given a name string return it in a form usable as topic keys:
+    //     change "@" and "." to "_".
+    //
+    std::string AclData::normalizeUserId(const std::string& userId)
+    {
+        std::string normalId(userId);
+        substituteString(normalId, DOMAIN_SEPARATOR, UNDERSCORE);
+        substituteString(normalId, PERIOD,           UNDERSCORE);
+        return normalId;
+    }
+
+
+    //
+    // substituteUserId
+    //   Given an Acl rule and an authenticated userId
+    //   do the keyword substitutions on the rule.
+    //
+    void AclData::AclData::substituteUserId(std::string& ruleString,
+                                            const std::string& userId)
+    {
+        size_t locDomSeparator(0);
+        std::string user("");
+        std::string domain("");
+        std::string userdomain = normalizeUserId(userId);
+
+        locDomSeparator = userId.find(DOMAIN_SEPARATOR);
+        if (std::string::npos == locDomSeparator) {
+            // "@" not found. There's just a user name
+            user   = normalizeUserId(userId);
+        } else {
+            // "@" found, split the names. Domain may be blank.
+            user   = normalizeUserId(userId.substr(0,locDomSeparator));
+            domain = normalizeUserId(userId.substr(locDomSeparator+1));
+        }
+
+        substituteString(ruleString, USER_SUBSTITUTION_KEYWORD,       user);
+        substituteString(ruleString, DOMAIN_SUBSTITUTION_KEYWORD,     domain);
+        substituteString(ruleString, USERDOMAIN_SUBSTITUTION_KEYWORD, userdomain);
+    }
+
+
+    //
+    // substituteKeywords
+    //   Given an Acl rule and an authenticated userId
+    //   do reverse keyword substitutions on the rule.
+    //   That is, replace the normalized name in the rule string with
+    //   the keyword that represents it. This stragegy is used for
+    //   topic key lookups where the keyword string proper is in the
+    //   topic key search tree.
+    //
+    void AclData::AclData::substituteKeywords(std::string& ruleString,
+                                              const std::string& userId)
+    {
+        size_t locDomSeparator(0);
+        std::string user("");
+        std::string domain("");
+        std::string userdomain = normalizeUserId(userId);
+
+        locDomSeparator = userId.find(DOMAIN_SEPARATOR);
+        if (std::string::npos == locDomSeparator) {
+            // "@" not found. There's just a user name
+            user   = normalizeUserId(userId);
+        } else {
+            // "@" found, split the names
+            user   = normalizeUserId(userId.substr(0,locDomSeparator));
+            domain = normalizeUserId(userId.substr(locDomSeparator+1));
+        }
+        std::string oRule(ruleString);
+        substituteString(ruleString, userdomain, USERDOMAIN_SUBSTITUTION_KEYWORD);
+        substituteString(ruleString, user,       USER_SUBSTITUTION_KEYWORD);
+        substituteString(ruleString, domain,     DOMAIN_SUBSTITUTION_KEYWORD);
+    }
 }}

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/AclData.h Mon Aug 27 15:40:33 2012
@@ -62,6 +62,7 @@ public:
         boost::shared_ptr<topicTester> pTTest;
         bool                  pubExchNameInRule;
         std::string           pubExchName;
+        std::vector<bool>     ruleHasUserSub;
 
         Rule (int ruleNum, qpid::acl::AclResult res, specPropertyMap& p) :
             rawRuleNum(ruleNum),
@@ -71,7 +72,8 @@ public:
             pubRoutingKey(),
             pTTest(boost::shared_ptr<topicTester>(new topicTester())),
             pubExchNameInRule(false),
-            pubExchName()
+            pubExchName(),
+            ruleHasUserSub(PROPERTYSIZE, false)
             {}
 
 
@@ -132,6 +134,17 @@ public:
 
     bool matchProp(const std::string & src, const std::string& src1);
     void clear ();
+    static const std::string USER_SUBSTITUTION_KEYWORD;
+    static const std::string DOMAIN_SUBSTITUTION_KEYWORD;
+    static const std::string USERDOMAIN_SUBSTITUTION_KEYWORD;
+    void substituteString(std::string& targetString,
+                          const std::string& placeholder,
+                          const std::string& replacement);
+    std::string normalizeUserId(const std::string& userId);
+    void substituteUserId(std::string& ruleString,
+                          const std::string& userId);
+    void substituteKeywords(std::string& ruleString,
+                            const std::string& userId);
 
     AclData();
     virtual ~AclData();

Modified: qpid/branches/asyncstore/cpp/src/qpid/acl/AclReader.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/acl/AclReader.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/acl/AclReader.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/acl/AclReader.cpp Mon Aug 27 15:40:33 2012
@@ -103,6 +103,15 @@ namespace acl {
             } else {
                 AclData::Rule rule(cnt, (*i)->res, (*i)->props);
 
+                // Record which properties have the user substitution string
+                for (pmCitr pItr=rule.props.begin(); pItr!=rule.props.end(); pItr++) {
+                    if ((pItr->second.find(AclData::USER_SUBSTITUTION_KEYWORD, 0)       != std::string::npos) ||
+                        (pItr->second.find(AclData::DOMAIN_SUBSTITUTION_KEYWORD, 0)     != std::string::npos) ||
+                        (pItr->second.find(AclData::USERDOMAIN_SUBSTITUTION_KEYWORD, 0) != std::string::npos)) {
+                        rule.ruleHasUserSub[pItr->first] = true;
+                    }
+                }
+
                 // Action -> Object -> map<user -> set<Rule> >
                 std::ostringstream actionstr;
                 for (int acnt = ((*i)->actionAll ? 0 : (*i)->action);

Added: qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.cpp?rev=1377715&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.cpp (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.cpp Mon Aug 27 15:40:33 2012
@@ -0,0 +1,39 @@
+#include "PersistableMessageContext.h"
+
+namespace qpid {
+namespace asyncStore {
+
+PersistableMessageContext::PersistableMessageContext(qpid::broker::AsyncStore* store) : m_store(store) {}
+
+PersistableMessageContext::~PersistableMessageContext() {}
+
+void
+PersistableMessageContext::encode(qpid::framing::Buffer& /*buffer*/) const {}
+
+uint32_t
+PersistableMessageContext::encodedSize() const {
+    return 0;
+}
+
+bool
+PersistableMessageContext::isPersistent() const {
+    return false;
+}
+
+void
+PersistableMessageContext::decodeHeader(framing::Buffer& /*buffer*/) {}
+
+void
+PersistableMessageContext::decodeContent(framing::Buffer& /*buffer*/) {}
+
+uint32_t
+PersistableMessageContext::encodedHeaderSize() const {
+    return 0;
+}
+
+boost::intrusive_ptr<qpid::broker::PersistableMessage> PersistableMessageContext::merge(const std::map<std::string, qpid::types::Variant>& /*annotations*/) const {
+    boost::intrusive_ptr<qpid::broker::PersistableMessage> pmc;
+    return pmc;
+}
+
+}} // namespace qpid::asyncStore

Added: qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.h?rev=1377715&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.h (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/asyncStore/PersistableMessageContext.h Mon Aug 27 15:40:33 2012
@@ -0,0 +1,32 @@
+#ifndef qpid_asyncStore_PersistableMessageContext_h_
+#define qpid_asyncStore_PersistableMessageContext_h_
+
+#include "qpid/broker/MessageHandle.h"
+#include "qpid/broker/PersistableMessage.h"
+
+namespace qpid {
+namespace asyncStore {
+
+class PersistableMessageContext: public qpid::broker::PersistableMessage {
+private:
+    qpid::broker::MessageHandle m_msgHandle;
+    qpid::broker::AsyncStore* m_store;
+public:
+    PersistableMessageContext(qpid::broker::AsyncStore* store);
+    virtual ~PersistableMessageContext();
+
+    // --- Interface Persistable ---
+    void encode(qpid::framing::Buffer& buffer) const;
+    uint32_t encodedSize() const;
+
+    // --- Class PersistableMessage ---
+    bool isPersistent() const;
+    void decodeHeader(framing::Buffer& buffer);
+    void decodeContent(framing::Buffer& buffer);
+    uint32_t encodedHeaderSize() const;
+    boost::intrusive_ptr<PersistableMessage> merge(const std::map<std::string, qpid::types::Variant>& annotations) const;
+};
+
+}} // namespace qpid::asyncStore
+
+#endif // qpid_asyncStore_PersistableMessageContext_h_

Propchange: qpid/branches/asyncstore/cpp/src/qpid/broker/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/broker:r1368652-1375508

Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/AclModule.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/AclModule.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/AclModule.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/AclModule.h Mon Aug 27 15:40:33 2012
@@ -78,7 +78,9 @@ namespace acl {
         PROP_SCHEMACLASS,
         PROP_POLICYTYPE,
         PROP_MAXQUEUESIZE,
-        PROP_MAXQUEUECOUNT };
+        PROP_MAXQUEUECOUNT,
+        PROPERTYSIZE           // PROPERTYSIZE must be last in list
+    };
 
     // Property used in ACL spec file
     // Note for properties common to file processing/rule storage and to
@@ -145,6 +147,10 @@ namespace broker {
          */
         virtual bool approveConnection (const Connection& connection)=0;
 
+        /** Change connection's counted userId
+         */
+        virtual void setUserId(const Connection& connection, const std::string& username)=0;
+
         virtual ~AclModule() {};
     };
 } // namespace broker

Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/AsyncCompletion.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/AsyncCompletion.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/AsyncCompletion.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/AsyncCompletion.h Mon Aug 27 15:40:33 2012
@@ -22,6 +22,7 @@
  *
  */
 
+#include "qpid/RefCounted.h"
 #include <boost/intrusive_ptr.hpp>
 
 #include "qpid/broker/BrokerImportExport.h"
@@ -77,7 +78,7 @@ namespace broker {
  * assuming no need for synchronization with Completer threads.
  */
 
-class AsyncCompletion
+class AsyncCompletion : public virtual RefCounted
 {
  public:
 

Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.cpp Mon Aug 27 15:40:33 2012
@@ -33,6 +33,7 @@
 #include "qpid/broker/Link.h"
 #include "qpid/broker/ExpiryPolicy.h"
 #include "qpid/broker/QueueFlowLimit.h"
+#include "qpid/broker/QueueSettings.h"
 #include "qpid/broker/MessageGroupManager.h"
 
 #include "qmf/org/apache/qpid/broker/Package.h"
@@ -120,7 +121,6 @@ Broker::Options::Options(const std::stri
     queueLimit(100*1048576/*100M default limit*/),
     tcpNoDelay(false),
     requireEncrypted(false),
-    asyncQueueEvents(false),     // Must be false in a cluster.
     qmf2Support(true),
     qmf1Support(true),
     queueFlowStopRatio(80),
@@ -164,7 +164,6 @@ Broker::Options::Options(const std::stri
         ("require-encryption", optValue(requireEncrypted), "Only accept connections that are encrypted")
         ("known-hosts-url", optValue(knownHosts, "URL or 'none'"), "URL to send as 'known-hosts' to clients ('none' implies empty list)")
         ("sasl-config", optValue(saslConfigPath, "DIR"), "gets sasl config info from nonstandard location")
-        ("async-queue-events", optValue(asyncQueueEvents, "yes|no"), "Set Queue Events async, used for services like replication")
         ("default-flow-stop-threshold", optValue(queueFlowStopRatio, "PERCENT"), "Percent of queue's maximum capacity at which flow control is activated.")
         ("default-flow-resume-threshold", optValue(queueFlowResumeRatio, "PERCENT"), "Percent of queue's maximum capacity at which flow control is de-activated.")
         ("default-event-threshold-ratio", optValue(queueThresholdEventRatio, "%age of limit"), "The ratio of any specified queue limit at which an event will be raised")
@@ -206,7 +205,6 @@ Broker::Broker(const Broker::Options& co
         *this),
     mgmtObject(0),
     queueCleaner(queues, &timer),
-    queueEvents(poller,!conf.asyncQueueEvents),
     recovery(true),
     inCluster(false),
     clusterUpdatee(false),
@@ -265,8 +263,6 @@ Broker::Broker(const Broker::Options& co
             federationTag = conf.fedTag;
     }
 
-    QueuePolicy::setDefaultMaxSize(conf.queueLimit);
-
     // Early-Initialize plugins
     Plugin::earlyInitAll(*this);
 
@@ -430,7 +426,6 @@ void Broker::shutdown() {
 
 Broker::~Broker() {
     shutdown();
-    queueEvents.shutdown();
     finalize();                 // Finalize any plugins.
     if (config.auth)
         SaslAuthenticator::fini();
@@ -694,11 +689,15 @@ void Broker::createObject(const std::str
             //treat everything else as extension properties
             else extensions[i->first] = i->second;
         }
-        framing::FieldTable arguments;
-        amqp_0_10::translate(extensions, arguments);
+        QueueSettings settings(durable, autodelete);
+        Variant::Map unused;
+        settings.populate(extensions, unused);
+        qpid::amqp_0_10::translate(unused, settings.storeSettings);
+        //TODO: unused doesn't take store settings into account... so can't yet implement strict
+        QPID_LOG(debug, "Broker did not use the following settings (store module may): " << unused);
 
         std::pair<boost::shared_ptr<Queue>, bool> result =
-            createQueue(name, durable, autodelete, 0, alternateExchange, arguments, userId, connectionId);
+            createQueue(name, settings, 0, alternateExchange, userId, connectionId);
         if (!result.second) {
             throw ObjectAlreadyExists(name);
         }
@@ -1046,8 +1045,7 @@ Broker::getKnownBrokersImpl()
     return knownBrokers;
 }
 
-bool Broker::deferDeliveryImpl(const std::string& ,
-                               const boost::intrusive_ptr<Message>& )
+bool Broker::deferDeliveryImpl(const std::string&, const Message&)
 { return false; }
 
 void Broker::setClusterTimer(std::auto_ptr<sys::Timer> t) {
@@ -1061,23 +1059,21 @@ const std::string Broker::TCP_TRANSPORT(
 
 std::pair<boost::shared_ptr<Queue>, bool> Broker::createQueue(
     const std::string& name,
-    bool durable,
-    bool autodelete,
+    const QueueSettings& settings,
     const OwnershipToken* owner,
     const std::string& alternateExchange,
-    const qpid::framing::FieldTable& arguments,
     const std::string& userId,
     const std::string& connectionId)
 {
     if (acl) {
         std::map<acl::Property, std::string> params;
         params.insert(make_pair(acl::PROP_ALTERNATE, alternateExchange));
-        params.insert(make_pair(acl::PROP_DURABLE, durable ? _TRUE : _FALSE));
+        params.insert(make_pair(acl::PROP_DURABLE, settings.durable ? _TRUE : _FALSE));
         params.insert(make_pair(acl::PROP_EXCLUSIVE, owner ? _TRUE : _FALSE));
-        params.insert(make_pair(acl::PROP_AUTODELETE, autodelete ? _TRUE : _FALSE));
-        params.insert(make_pair(acl::PROP_POLICYTYPE, arguments.getAsString("qpid.policy_type")));
-        params.insert(make_pair(acl::PROP_MAXQUEUECOUNT, boost::lexical_cast<string>(arguments.getAsInt("qpid.max_count"))));
-        params.insert(make_pair(acl::PROP_MAXQUEUESIZE, boost::lexical_cast<string>(arguments.getAsInt64("qpid.max_size"))));
+        params.insert(make_pair(acl::PROP_AUTODELETE, settings.autodelete ? _TRUE : _FALSE));
+        params.insert(make_pair(acl::PROP_POLICYTYPE, settings.dropMessagesAtLimit ? "ring" : "reject"));
+        params.insert(make_pair(acl::PROP_MAXQUEUECOUNT, boost::lexical_cast<string>(settings.maxDepth.getCount())));
+        params.insert(make_pair(acl::PROP_MAXQUEUESIZE, boost::lexical_cast<string>(settings.maxDepth.getSize())));
 
         if (!acl->authorise(userId,acl::ACT_CREATE,acl::OBJ_QUEUE,name,&params) )
             throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue create request from " << userId));
@@ -1089,7 +1085,7 @@ std::pair<boost::shared_ptr<Queue>, bool
         if (!alternate) throw framing::NotFoundException(QPID_MSG("Alternate exchange does not exist: " << alternateExchange));
     }
 
-    std::pair<Queue::shared_ptr, bool> result = queues.declare(name, durable, autodelete, owner, alternate, arguments);
+    std::pair<Queue::shared_ptr, bool> result = queues.declare(name, settings, alternate);
     if (result.second) {
         //add default binding:
         result.first->bind(exchanges.getDefault(), name);
@@ -1100,16 +1096,16 @@ std::pair<boost::shared_ptr<Queue>, bool
             //event instead?
             managementAgent->raiseEvent(
                 _qmf::EventQueueDeclare(connectionId, userId, name,
-                                        durable, owner, autodelete, alternateExchange,
-                                        ManagementAgent::toMap(arguments),
+                                        settings.durable, owner, settings.autodelete, alternateExchange,
+                                        settings.asMap(),
                                         "created"));
         }
         QPID_LOG_CAT(debug, model, "Create queue. name:" << name
             << " user:" << userId
             << " rhost:" << connectionId
-            << " durable:" << (durable ? "T" : "F")
+            << " durable:" << (settings.durable ? "T" : "F")
             << " owner:" << owner
-            << " autodelete:" << (autodelete ? "T" : "F")
+            << " autodelete:" << (settings.autodelete ? "T" : "F")
             << " alternateExchange:" << alternateExchange );
     }
     return result;

Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.h?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/Broker.h Mon Aug 27 15:40:33 2012
@@ -34,7 +34,6 @@
 #include "qpid/broker/LinkRegistry.h"
 #include "qpid/broker/SessionManager.h"
 #include "qpid/broker/QueueCleaner.h"
-#include "qpid/broker/QueueEvents.h"
 #include "qpid/broker/Vhost.h"
 #include "qpid/broker/System.h"
 #include "qpid/broker/ExpiryPolicy.h"
@@ -76,7 +75,7 @@ namespace broker {
 class ConnectionState;
 class ExpiryPolicy;
 class Message;
-
+struct QueueSettings;
 static const  uint16_t DEFAULT_PORT=5672;
 
 struct NoSuchTransportException : qpid::Exception
@@ -118,7 +117,6 @@ class Broker : public sys::Runnable, pub
         bool requireEncrypted;
         std::string knownHosts;
         std::string saslConfigPath;
-        bool asyncQueueEvents;
         bool qmf2Support;
         bool qmf1Support;
         uint queueFlowStopRatio;    // producer flow control: on
@@ -178,11 +176,10 @@ class Broker : public sys::Runnable, pub
     Vhost::shared_ptr            vhostObject;
     System::shared_ptr           systemObject;
     QueueCleaner queueCleaner;
-    QueueEvents queueEvents;
     std::vector<Url> knownBrokers;
     std::vector<Url> getKnownBrokersImpl();
     bool deferDeliveryImpl(const std::string& queue,
-                           const boost::intrusive_ptr<Message>& msg);
+                           const Message& msg);
     std::string federationTag;
     bool recovery;
     bool inCluster, clusterUpdatee;
@@ -227,7 +224,6 @@ class Broker : public sys::Runnable, pub
     DtxManager& getDtxManager() { return dtxManager; }
     DataDir& getDataDir() { return dataDir; }
     Options& getOptions() { return config; }
-    QueueEvents& getQueueEvents() { return queueEvents; }
 
     void setExpiryPolicy(const boost::intrusive_ptr<ExpiryPolicy>& e) { expiryPolicy = e; }
     boost::intrusive_ptr<ExpiryPolicy> getExpiryPolicy() { return expiryPolicy; }
@@ -309,7 +305,8 @@ class Broker : public sys::Runnable, pub
      * context.
      *@return true if delivery of a message should be deferred.
      */
-    boost::function<bool (const std::string& queue, const boost::intrusive_ptr<Message>& msg)> deferDelivery;
+    boost::function<bool (const std::string& queue,
+                          const Message& msg)> deferDelivery;
 
     bool isAuthenticating ( ) { return config.auth; }
     bool isTimestamping() { return config.timestampRcvMsgs; }
@@ -318,11 +315,9 @@ class Broker : public sys::Runnable, pub
 
     QPID_BROKER_EXTERN std::pair<boost::shared_ptr<Queue>, bool> createQueue(
         const std::string& name,
-        bool durable,
-        bool autodelete,
+        const QueueSettings& settings,
         const OwnershipToken* owner,
         const std::string& alternateExchange,
-        const qpid::framing::FieldTable& arguments,
         const std::string& userId,
         const std::string& connectionId);
 

Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/Connection.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/Connection.cpp?rev=1377715&r1=1377714&r2=1377715&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/Connection.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/Connection.cpp Mon Aug 27 15:40:33 2012
@@ -25,6 +25,7 @@
 #include "qpid/broker/Bridge.h"
 #include "qpid/broker/Broker.h"
 #include "qpid/broker/Queue.h"
+#include "qpid/broker/AclModule.h"
 #include "qpid/sys/SecuritySettings.h"
 #include "qpid/sys/ClusterSafe.h"
 
@@ -278,6 +279,13 @@ void Connection::notifyConnectionForced(
 
 void Connection::setUserId(const string& userId)
 {
+    // Account for changing userId
+    AclModule* acl = broker.getAcl();
+    if (acl)
+    {
+        acl->setUserId(*this, userId);
+    }
+
     ConnectionState::setUserId(userId);
     // In a cluster, the cluster code will raise the connect event
     // when the connection is replicated to the cluster.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org