Author: kwall
Date: Tue Jan 27 15:00:13 2015
New Revision: 1655057

URL: http://svn.apache.org/r1655057
Log:
Merge from trunk

Added:
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.cpp
      - copied unchanged from r1655056, 
qpid/trunk/qpid/cpp/src/qpid/broker/LossyLvq.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h
      - copied unchanged from r1655056, 
qpid/trunk/qpid/cpp/src/qpid/broker/LossyLvq.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupImpl.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupMemberImpl.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupMemberImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/NonStandardVirtualHost.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/NonStandardVirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/
      - copied from r1655056, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileTrustStoreTest.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileTrustStoreTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/accesscontrolprovider/aclfile/
      - copied from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/accesscontrolprovider/aclfile/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addAccessControlProvider.html
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addAccessControlProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addStore.html
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addStore.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/aclfile/
      - copied from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/aclfile/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/
      - copied from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showStore.html
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/showStore.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/
      - copied from r1655056, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/store/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/util/DataUrlUtils.java
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/util/DataUrlUtils.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/chartdefs/1060-SSLConnections.chartdef
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/perftests/etc/chartdefs/1060-SSLConnections.chartdef
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/json_config_tool.py
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/perftests/etc/json_config_tool.py
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/testdefs/VaryingNumberOfParticipantsSSL.js
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/perftests/etc/testdefs/VaryingNumberOfParticipantsSSL.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/prefetch/
      - copied from r1655056, 
qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/systest/prefetch/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/test_resources/log4j.xml
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/test-profiles/test_resources/log4j.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/test_resources/spawned-broker-log4j.xml
   (props changed)
      - copied unchanged from r1655056, 
qpid/trunk/qpid/java/test-profiles/test_resources/spawned-broker-log4j.xml
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qlslibs/analyze.py
      - copied unchanged from r1655056, 
qpid/trunk/qpid/tools/src/py/qlslibs/analyze.py
Removed:
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistryTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategory.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/Test2RootCategoryImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategoryImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestConfiguredObject.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestEnum.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass1.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass2.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass3.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass4.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedClass5.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedInterface1.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedInterface2.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestManagedInterface3.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestModel.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategoryImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AbstractConfiguration.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addKeystore.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showKeyStore.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showTrustStore.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/visualisation-timeseries.sh
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/visualisation.sh
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/log4j-test.xml
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qlslibs/anal.py
Modified:
    qpid/branches/QPID-6262-JavaBrokerNIO/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/client.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/server.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt   
(contents, props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/amqp.cmake
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/config.h.cmake
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/   (props 
changed)
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/AsyncCompletion.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyQueue.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Lvq.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueFactory.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Domain.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/ProtocolPlugin.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Relay.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Relay.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Session.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/framing/SequenceSet.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/ha/Primary.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/ISSUES
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/MessageStoreImpl.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePool.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePool.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePoolManager.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePoolPartition.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/EmptyFilePoolPartition.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/jerrno.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/journal/jerrno.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/linearstore/management-schema.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/AddressHelper.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/AddressHelper.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/SenderContext.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/SessionContext.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/SessionContext.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/ConnectionCodec.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/assertions.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/txshift.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/Java-Broker-Appendix-Operational-Logging-Messages.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/commonEntities.xml
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/   (props changed)
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBSystemConfigImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/CoalescingCommiter.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNodeImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/existinggroup/add.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBBackupTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/SystemConfigFactoryGenerator.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLogger.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractSystemConfig.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Group.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/GroupMember.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/JsonSystemConfigImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemConfig.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/Pluggable.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/QpidServiceLoader.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/SystemConfigFactory.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNodeImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AttributeValueConverterTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/SecurityManagerTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/ConfigurationFile.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/PlainConfiguration.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/PlainConfigurationTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImplTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbySystemConfigImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNodeImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfigImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/HelperServlet.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addVirtualHostNodeAndVirtualHost.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/metadata.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemorySystemConfigImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNode.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/example/src/main/java/org/apache/qpid/example/Hello.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/properties/ConnectionStartProperties.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/QpidClientX509KeyManager.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/util/SystemUtils.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/perftests-jndi.properties
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/etc/testdefs/VaryingNumberOfParticipants.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/perftests/visualisation-jfc/pom.xml
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/qpid-perftests-systests/pom.xml
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/qpid-systests-parent/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/TestSSLConstants.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/BrokerHolder.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/Piper.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
   (contents, props changed)
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/client/HeartbeatTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/client/ssl/SSLTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/server/BrokerStartupTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/server/logging/BrokerLoggingTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/server/security/acl/AbstractACLTestCase.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/LoggingManagementTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/LogViewerTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/test/unit/close/JavaServerCloseRaceConditionTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/test/unit/close/MessageConsumerCloseTest.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/JavaExcludes  
 (contents, props changed)
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/python_tests/Java010PythonExcludes
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/test_resources/   
(props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/python/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/python/qpid/codec010.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/python/qpid/sasl.py
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tests/src/py/qpid_tests/broker_0_10/lvq.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qlslibs/efp.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qlslibs/jrnl.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qpid-config
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qpid-qls-analyze
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/src/py/qpid-route

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 15:00:13 2015
@@ -3,3 +3,4 @@
 /qpid/branches/java-broker-bdb-ha2:1576683-1583556
 /qpid/branches/java-network-refactor:805429-825319
 /qpid/branches/mcpierce-QPID-4719:1477004-1477093
+/qpid/trunk:1643238-1655056

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 15:00:13 2015
@@ -6,3 +6,4 @@
 /qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093
 /qpid/branches/qpid-2935/qpid:1061302-1072333
 /qpid/branches/qpid-3346/qpid:1144319-1179855
+/qpid/trunk/qpid:1643238-1655056

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/client.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/client.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/client.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/client.cpp 
Tue Jan 27 15:00:13 2015
@@ -7,9 +7,9 @@
  * 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
@@ -39,7 +39,7 @@ using std::string;
 int main(int argc, char** argv) {
     const char* url = argc>1 ? argv[1] : "amqp:tcp:127.0.0.1:5672";
     std::string connectionOptions = argc > 2 ? argv[2] : "";
-    
+
     Connection connection(url, connectionOptions);
      try {
         connection.open();
@@ -62,10 +62,11 @@ int main(int argc, char** argv) {
        Message request;
         request.setReplyTo(responseQueue);
        for (int i=0; i<4; i++) {
-            request.setContent(s[i]);
+            request.setContentObject(s[i]);
             sender.send(request);
             Message response = receiver.fetch();
-            std::cout << request.getContent() << " -> " << 
response.getContent() << std::endl;
+            std::cout << request.getContentObject() << " -> " << 
response.getContentObject() << std::endl;
+            session.acknowledge(response);
        }
         connection.close();
         return 0;

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/server.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/server.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/server.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/examples/messaging/server.cpp 
Tue Jan 27 15:00:13 2015
@@ -52,15 +52,31 @@ int main(int argc, char** argv) {
             const Address& address = request.getReplyTo();
             if (address) {
                 Sender sender = session.createSender(address);
-                std::string s = request.getContent();
-                std::transform(s.begin(), s.end(), s.begin(), toupper);
-                Message response(s);
+                Message response;
+
+                qpid::types::Variant requestObj = request.getContentObject();
+                if (requestObj.getType() == qpid::types::VAR_STRING) {
+                    // Received a string.
+                    // Server returns request string in upper case with same 
encoding.
+                    std::string s = requestObj;
+                    std::transform(s.begin(), s.end(), s.begin(), toupper);
+                    qpid::types::Variant responseObj(s);
+                    responseObj.setEncoding( requestObj.getEncoding() );
+                    response.setContentObject( responseObj );
+                } else {
+                    // Received something other than a string.
+                    // Server echos received object as a utf8 string.
+                    qpid::types::Variant responseObj( requestObj.asString() );
+                    responseObj.setEncoding( "utf8" );
+                    response.setContentObject( requestObj );
+                }
                 sender.send(response);
-                std::cout << "Processed request: " 
-                          << request.getContent() 
-                          << " -> " 
-                          << response.getContent() << std::endl;
+                std::cout << "Processed request: "
+                          << request.getContentObject()
+                          << " -> "
+                          << response.getContentObject() << std::endl;
                 session.acknowledge();
+                sender.close();
             } else {
                 std::cerr << "Error: no reply address specified for request: " 
<< request.getContent() << std::endl;
                 session.reject(request);

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 15:00:13 2015
@@ -6,3 +6,4 @@
 /qpid/branches/java-network-refactor/qpid/cpp/src:805429-825319
 /qpid/branches/qpid-2935/qpid/cpp/src:1061302-1072333
 /qpid/branches/qpid-3346/qpid/cpp/src:1144319-1179855
+/qpid/trunk/qpid/cpp/src:1643238-1655056

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt Tue Jan 
27 15:00:13 2015
@@ -1077,6 +1077,7 @@ set (qpidbroker_SOURCES
      qpid/broker/IngressCompletion.cpp
      qpid/broker/Link.cpp
      qpid/broker/LinkRegistry.cpp
+     qpid/broker/LossyLvq.cpp
      qpid/broker/LossyQueue.cpp
      qpid/broker/Lvq.cpp
      qpid/broker/Message.cpp

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 15:00:13 2015
@@ -7,3 +7,4 @@
 /qpid/branches/qpid-2393/qpid/cpp/src/CMakeLists.txt:1375790-1376954
 /qpid/branches/qpid-2935/qpid/cpp/src/CMakeLists.txt:1061302-1072333
 /qpid/branches/qpid-3346/qpid/cpp/src/CMakeLists.txt:1144319-1179855
+/qpid/trunk/qpid/cpp/src/CMakeLists.txt:1643238-1655056

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/amqp.cmake
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/amqp.cmake?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/amqp.cmake (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/amqp.cmake Tue Jan 27 
15:00:13 2015
@@ -22,7 +22,7 @@
 find_package(Proton 0.5)
 
 set (amqp_default ${amqp_force})
-set (maximum_version 0.7)
+set (maximum_version 0.9)
 if (Proton_FOUND)
     if (Proton_VERSION GREATER ${maximum_version})
         message(WARNING "Qpid proton ${Proton_VERSION} is not a tested version 
and might not be compatible, ${maximum_version} is highest tested; build may 
not work")
@@ -35,7 +35,11 @@ if (Proton_FOUND)
     endif (NOT Proton_VERSION EQUAL 0.5)
     if (Proton_VERSION GREATER 0.7)
         set (USE_PROTON_TRANSPORT_CONDITION 1)
+        set (HAVE_PROTON_EVENTS 1)
     endif (Proton_VERSION GREATER 0.7)
+    if (Proton_VERSION GREATER 0.8)
+        set (NO_PROTON_DELIVERY_TAG_T 1)
+    endif (Proton_VERSION GREATER 0.8)
 else ()
     message(STATUS "Qpid proton not found, amqp 1.0 support not enabled")
 endif ()

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/config.h.cmake
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/config.h.cmake?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/config.h.cmake (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/config.h.cmake Tue Jan 
27 15:00:13 2015
@@ -58,5 +58,6 @@
 #cmakedefine HAVE_LOG_FTP
 #cmakedefine HAVE_PROTON_TRACER
 #cmakedefine USE_PROTON_TRANSPORT_CONDITION
-
+#cmakedefine HAVE_PROTON_EVENTS
+#cmakedefine NO_PROTON_DELIVERY_TAG_T
 #endif /* QPID_CONFIG_H */

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
 Tue Jan 27 15:00:13 2015
@@ -54,7 +54,7 @@ size_t  Connection::decode(const char* b
         }
     }
     framing::AMQFrame frame;
-    while(frame.decode(in)) {
+    while(!pushClosed && frame.decode(in)) {
         QPID_LOG(trace, "RECV [" << identifier << "]: " << frame);
          connection->received(frame);
     }

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
 Tue Jan 27 15:00:13 2015
@@ -276,6 +276,7 @@ void SessionHandler::flush(bool expected
 }
 
 void SessionHandler::gap(const SequenceSet& /*commands*/) {
+    checkAttached();
     throw NotImplementedException("session.gap not supported");
 }
 

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 27 15:00:13 2015
@@ -7,3 +7,4 @@
 /qpid/branches/qpid-2935/qpid/cpp/src/qpid/broker:1061302-1072333
 /qpid/branches/qpid-3346/qpid/cpp/src/qpid/broker:1144319-1179855
 /qpid/branches/qpid-3890/qpid/cpp/src/qpid/broker:1299027-1303795
+/qpid/trunk/qpid/cpp/src/qpid/broker:1643238-1655056

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/AsyncCompletion.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/AsyncCompletion.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/AsyncCompletion.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/AsyncCompletion.h
 Tue Jan 27 15:00:13 2015
@@ -111,13 +111,14 @@ class AsyncCompletion : public virtual R
         qpid::sys::Mutex::ScopedLock l(callbackLock);
         if (active) {
             if (callback.get()) {
+                boost::intrusive_ptr<Callback> save = callback;
+                callback = boost::intrusive_ptr<Callback>(); // Nobody else 
can run callback.
                 inCallback = true;
                 {
                     qpid::sys::Mutex::ScopedUnlock ul(callbackLock);
-                    callback->completed(sync);
+                    save->completed(sync);
                 }
                 inCallback = false;
-                callback = boost::intrusive_ptr<Callback>();
                 callbackLock.notifyAll();
             }
             active = false;

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
 Tue Jan 27 15:00:13 2015
@@ -93,14 +93,14 @@ void ConnectionHandler::handle(framing::
         } else if (isOpen()) {
             handler->connection.getChannel(frame.getChannel()).in(frame);
         } else {
-            handler->proxy.close(
+            handler->connection.close(
                 connection::CLOSE_CODE_FRAMING_ERROR,
                 "Connection not yet open, invalid frame received.");
         }
     }catch(ConnectionException& e){
-        handler->proxy.close(e.code, e.what());
+        handler->connection.close(e.code, e.what());
     }catch(std::exception& e){
-        handler->proxy.close(541/*internal error*/, e.what());
+        handler->connection.close(connection::CLOSE_CODE_CONNECTION_FORCED, 
e.what());
     }
 }
 
@@ -234,21 +234,25 @@ void ConnectionHandler::Handler::tuneOk(
 void ConnectionHandler::Handler::open(const string& /*virtualHost*/,
                                       const framing::Array& /*capabilities*/, 
bool /*insist*/)
 {
+    if (connection.getUserId().empty()) {
+        throw ConnectionForcedException("Not authenticated!");
+    }
+
     if (connection.isFederationLink()) {
         AclModule* acl =  connection.getBroker().getAcl();
         if (acl && acl->userAclRules()) {
             if 
(!acl->authorise(connection.getUserId(),acl::ACT_CREATE,acl::OBJ_LINK,"")){
-                proxy.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,
-                            QPID_MSG("ACL denied " << connection.getUserId()
-                                        << " creating a federation link"));
+                
connection.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,
+                                 QPID_MSG("ACL denied " << 
connection.getUserId()
+                                          << " creating a federation link"));
                 return;
             }
         } else {
             if (connection.getBroker().isAuthenticating()) {
-                proxy.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,
-                            QPID_MSG("User " << connection.getUserId()
-                                << " federation connection denied. Systems 
with authentication "
-                                   "enabled must specify ACL create link 
rules."));
+                
connection.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,
+                                 QPID_MSG("User " << connection.getUserId()
+                                          << " federation connection denied. 
Systems with authentication "
+                                          "enabled must specify ACL create 
link rules."));
                 return;
             }
         }
@@ -302,6 +306,11 @@ void ConnectionHandler::Handler::start(c
                                        const framing::Array& 
supportedMechanisms,
                                        const framing::Array& /*locales*/)
 {
+    if (serverMode) {
+        throw ConnectionForcedException("Invalid protocol sequence.");
+    }
+
+
     string requestedMechanism = connection.getAuthMechanism();
 
     std::string username = connection.getUsername();
@@ -388,6 +397,10 @@ void ConnectionHandler::Handler::start(c
 
 void ConnectionHandler::Handler::secure(const string& challenge )
 {
+    if (serverMode) {
+        throw ConnectionForcedException("Invalid protocol sequence.");
+    }
+
     if (sasl.get()) {
         string response = sasl->step(challenge);
         proxy.secureOk(response);
@@ -402,6 +415,10 @@ void ConnectionHandler::Handler::tune(ui
                                       uint16_t /*heartbeatMin*/,
                                       uint16_t heartbeatMax)
 {
+    if (serverMode) {
+        throw ConnectionForcedException("Invalid protocol sequence.");
+    }
+
     maxFrameSize = std::min(maxFrameSize, maxFrameSizeProposed);
     connection.setFrameMax(maxFrameSize);
 
@@ -420,6 +437,10 @@ void ConnectionHandler::Handler::tune(ui
 
 void ConnectionHandler::Handler::openOk(const framing::Array& knownHosts)
 {
+    if (serverMode) {
+        throw ConnectionForcedException("Invalid protocol sequence.");
+    }
+
     for (Array::ValueVector::const_iterator i = knownHosts.begin(); i != 
knownHosts.end(); ++i) {
         Url url((*i)->get<std::string>());
         connection.getKnownHosts().push_back(url);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/ConnectionHandler.h
 Tue Jan 27 15:00:13 2015
@@ -100,13 +100,14 @@ class ConnectionHandler : public framing
     std::auto_ptr<Handler> handler;
 
     bool handle(const qpid::framing::AMQMethodBody& method);
+    void close(framing::connection::CloseCode code, const std::string& text);
   public:
     ConnectionHandler(amqp_0_10::Connection& connection, bool isClient );
-    void close(framing::connection::CloseCode code, const std::string& text);
     void heartbeat();
     void handle(framing::AMQFrame& frame);
     void setSecureConnection(SecureConnection* secured);
     bool isOpen() { return handler->isOpen; }
+  friend class amqp_0_10::Connection;
 };
 
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyQueue.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyQueue.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyQueue.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyQueue.h 
Tue Jan 27 15:00:13 2015
@@ -29,7 +29,7 @@ namespace broker {
 /**
  * Drops messages to prevent a breach of any configured maximum depth.
  */
-class LossyQueue : public Queue
+class LossyQueue : public virtual Queue
 {
   public:
     LossyQueue(const std::string&, const QueueSettings&, MessageStore* const, 
management::Manageable*, Broker*);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Lvq.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Lvq.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Lvq.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Lvq.h Tue 
Jan 27 15:00:13 2015
@@ -32,7 +32,7 @@ class MessageMap;
  * conjunction with the MessageMap class. This requires an existing
  * message to be 'replaced' by a newer message with the same key.
  */
-class Lvq : public Queue
+class Lvq : public virtual Queue
 {
   public:
     Lvq(const std::string&, std::auto_ptr<MessageMap>, const QueueSettings&, 
MessageStore* const, management::Manageable*, Broker*);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/MessageBuilder.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
 Tue Jan 27 15:00:13 2015
@@ -45,6 +45,9 @@ void MessageBuilder::handle(AMQFrame& fr
     switch(state) {
     case METHOD:
         checkType(METHOD_BODY, type);
+        if (!frame.getMethod()->isA<qpid::framing::MessageTransferBody>())
+            throw NotImplementedException(QPID_MSG("Unexpected method: " << 
*(frame.getMethod())));
+
         exchange = 
frame.castBody<qpid::framing::MessageTransferBody>()->getDestination();
         state = HEADER;
         break;

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.cpp 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.cpp 
Tue Jan 27 15:00:13 2015
@@ -35,8 +35,10 @@ ProtocolRegistry::ProtocolRegistry(const
 
 qpid::sys::ConnectionCodec* ProtocolRegistry::create(const 
qpid::framing::ProtocolVersion& v, qpid::sys::OutputControl& o, const 
std::string& id, const qpid::sys::SecuritySettings& s)
 {
-    if (v == qpid::framing::ProtocolVersion(0, 10) && isEnabled(AMQP_0_10)) {
-        return create_0_10(o, id, s, false);
+    if (v == qpid::framing::ProtocolVersion(0, 10)) {
+        if (isEnabled(AMQP_0_10)) {
+            return create_0_10(o, id, s, false);
+        }
     }
     qpid::sys::ConnectionCodec* codec = 0;
     for (Protocols::const_iterator i = protocols.begin(); !codec && i != 
protocols.end(); ++i) {
@@ -51,7 +53,22 @@ qpid::sys::ConnectionCodec* ProtocolRegi
     return create_0_10(o, id, s, true);
 }
 
-bool ProtocolRegistry::isEnabled(const std::string& name)
+qpid::framing::ProtocolVersion ProtocolRegistry::supportedVersion() const
+{
+    if (isEnabled(AMQP_0_10)) {
+        return qpid::framing::ProtocolVersion(0,10);
+    } else {
+        for (Protocols::const_iterator i = protocols.begin(); i != 
protocols.end(); ++i) {
+            if (isEnabled(i->first)) {
+                return i->second->supportedVersion();
+            }
+        }
+    }
+    QPID_LOG(error, "No enabled protocols!");
+    return qpid::framing::ProtocolVersion(0,0);
+}
+
+bool ProtocolRegistry::isEnabled(const std::string& name) const
 {
     return enabled.empty()/*if nothing is explicitly enabled, assume 
everything is*/ || enabled.find(name) != enabled.end();
 }

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Protocol.h 
Tue Jan 27 15:00:13 2015
@@ -61,6 +61,7 @@ class Protocol
     virtual qpid::sys::ConnectionCodec* create(const 
qpid::framing::ProtocolVersion&, qpid::sys::OutputControl&, const std::string&, 
const qpid::sys::SecuritySettings&) = 0;
     virtual boost::intrusive_ptr<const 
qpid::broker::amqp_0_10::MessageTransfer> translate(const Message&) = 0;
     virtual boost::shared_ptr<RecoverableMessage> 
recover(qpid::framing::Buffer&) = 0;
+    virtual qpid::framing::ProtocolVersion supportedVersion() const = 0;
 
   private:
 };
@@ -70,6 +71,7 @@ class ProtocolRegistry : public Protocol
   public:
     QPID_BROKER_EXTERN qpid::sys::ConnectionCodec* create(const 
qpid::framing::ProtocolVersion&, qpid::sys::OutputControl&, const std::string&, 
const qpid::sys::SecuritySettings&);
     QPID_BROKER_EXTERN qpid::sys::ConnectionCodec* 
create(qpid::sys::OutputControl&, const std::string&, const 
qpid::sys::SecuritySettings&);
+    QPID_BROKER_EXTERN qpid::framing::ProtocolVersion supportedVersion() const;
     QPID_BROKER_EXTERN boost::intrusive_ptr<const 
qpid::broker::amqp_0_10::MessageTransfer> translate(const Message&);
     QPID_BROKER_EXTERN boost::shared_ptr<RecoverableMessage> 
recover(qpid::framing::Buffer&);
     QPID_BROKER_EXTERN Message decode(qpid::framing::Buffer&);
@@ -86,7 +88,7 @@ class ProtocolRegistry : public Protocol
     Broker* broker;
 
     qpid::sys::ConnectionCodec* create_0_10(qpid::sys::OutputControl&, const 
std::string&, const qpid::sys::SecuritySettings&, bool);
-    bool isEnabled(const std::string&);
+    bool isEnabled(const std::string&) const;
 
 };
 }} // namespace qpid::broker

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.cpp 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.cpp 
Tue Jan 27 15:00:13 2015
@@ -1258,6 +1258,10 @@ Queue::shared_ptr Queue::restore( QueueR
     if (has_userId)
         result.first->setOwningUser(_userId);
 
+    if (result.first->getSettings().autoDeleteDelay) {
+        result.first->scheduleAutoDelete();
+    }
+
     return result.first;
 }
 
@@ -1296,10 +1300,10 @@ struct AutoDeleteTask : qpid::sys::Timer
     }
 };
 
-void Queue::scheduleAutoDelete()
+void Queue::scheduleAutoDelete(bool immediate)
 {
     if (canAutoDelete()) {
-        if (settings.autoDeleteDelay) {
+        if (!immediate && settings.autoDeleteDelay) {
             AbsTime time(now(), Duration(settings.autoDeleteDelay * TIME_SEC));
             autoDeleteTask = boost::intrusive_ptr<qpid::sys::TimerTask>(new 
AutoDeleteTask(shared_from_this(), time));
             broker->getTimer().add(autoDeleteTask);
@@ -1339,7 +1343,7 @@ bool Queue::isExclusiveOwner(const Owner
     return o == owner;
 }
 
-void Queue::releaseExclusiveOwnership()
+void Queue::releaseExclusiveOwnership(bool immediateExpiry)
 {
     bool unused;
     {
@@ -1351,7 +1355,7 @@ void Queue::releaseExclusiveOwnership()
         unused = !users.isUsed();
     }
     if (unused && settings.autodelete) {
-        scheduleAutoDelete();
+        scheduleAutoDelete(immediateExpiry);
     }
 }
 

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/Queue.h Tue 
Jan 27 15:00:13 2015
@@ -379,7 +379,7 @@ class Queue : public boost::enable_share
     QPID_BROKER_EXTERN uint32_t getConsumerCount() const;
     inline const std::string& getName() const { return name; }
     QPID_BROKER_EXTERN bool isExclusiveOwner(const OwnershipToken* const o) 
const;
-    QPID_BROKER_EXTERN void releaseExclusiveOwnership();
+    QPID_BROKER_EXTERN void releaseExclusiveOwnership(bool 
immediateExpiry=false);
     QPID_BROKER_EXTERN bool setExclusiveOwner(const OwnershipToken* const o);
     QPID_BROKER_EXTERN bool hasExclusiveConsumer() const;
     QPID_BROKER_EXTERN bool hasExclusiveOwner() const;
@@ -389,7 +389,7 @@ class Queue : public boost::enable_share
     inline bool isAutoDelete() const { return settings.autodelete; }
     inline bool isBrowseOnly() const { return settings.isBrowseOnly; }
     QPID_BROKER_EXTERN bool canAutoDelete() const;
-    QPID_BROKER_EXTERN void scheduleAutoDelete();
+    QPID_BROKER_EXTERN void scheduleAutoDelete(bool immediate=false);
     QPID_BROKER_EXTERN bool isDeleted() const;
     const QueueBindings& getBindings() const { return bindings; }
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueFactory.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueFactory.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueFactory.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueFactory.cpp 
Tue Jan 27 15:00:13 2015
@@ -22,6 +22,7 @@
 #include "qpid/broker/Broker.h"
 #include "qpid/broker/QueueSettings.h"
 #include "qpid/broker/Queue.h"
+#include "qpid/broker/LossyLvq.h"
 #include "qpid/broker/LossyQueue.h"
 #include "qpid/broker/Lvq.h"
 #include "qpid/broker/Messages.h"
@@ -51,10 +52,17 @@ boost::shared_ptr<Queue> QueueFactory::c
     boost::shared_ptr<QueueFlowLimit> 
flow_ptr(QueueFlowLimit::createLimit(name, settings));
 
     //1. determine Queue type (i.e. whether we are subclassing Queue)
-    // -> if 'ring' policy is in use then subclass
     boost::shared_ptr<Queue> queue;
     if (settings.dropMessagesAtLimit) {
-        queue = boost::shared_ptr<Queue>(new LossyQueue(name, settings, 
settings.durable ? store : 0, parent, broker));
+        // -> if 'ring' policy is in use then subclass
+        if (settings.lvqKey.size()) {
+            //combination of ring and lvq:
+            std::auto_ptr<MessageMap> map(new MessageMap(settings.lvqKey));
+            queue = boost::shared_ptr<Queue>(new LossyLvq(name, map, settings, 
settings.durable ? store : 0, parent, broker));
+        } else {
+            //simple ring:
+            queue = boost::shared_ptr<Queue>(new LossyQueue(name, settings, 
settings.durable ? store : 0, parent, broker));
+        }
     } else if (settings.selfDestructAtLimit) {
         queue = boost::shared_ptr<Queue>(new SelfDestructQueue(name, settings, 
settings.durable ? store : 0, parent, broker));
     } else if (settings.lvqKey.size()) {

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.cpp
 Tue Jan 27 15:00:13 2015
@@ -37,6 +37,9 @@
 extern "C" {
 #include <proton/engine.h>
 #include <proton/error.h>
+#ifdef HAVE_PROTON_EVENTS
+#include <proton/event.h>
+#endif
 }
 
 namespace qpid {
@@ -117,8 +120,14 @@ Connection::Connection(qpid::sys::Output
     : BrokerContext(b), ManagedConnection(getBroker(), i, brokerInitiated),
       connection(pn_connection()),
       transport(pn_transport()),
+      collector(0),
       out(o), id(i), haveOutput(true), closeInitiated(false), 
closeRequested(false)
 {
+#ifdef HAVE_PROTON_EVENTS
+    collector = pn_collector();
+    pn_connection_collect(connection, collector);
+#endif
+
     if (pn_transport_bind(transport, connection)) {
         //error
         QPID_LOG(error, "Failed to bind transport to connection: " << 
getError());
@@ -157,6 +166,9 @@ Connection::~Connection()
     getBroker().getConnectionObservers().closed(*this);
     pn_transport_free(transport);
     pn_connection_free(connection);
+#ifdef HAVE_PROTON_EVENTS
+    pn_collector_free(collector);
+#endif
 }
 
 pn_transport_t* Connection::getTransport()
@@ -222,10 +234,15 @@ size_t Connection::encode(char* buffer,
 
 void Connection::doOutput(size_t capacity)
 {
-    for (ssize_t n = pn_transport_pending(transport); n > 0 && n < (ssize_t) 
capacity; n = pn_transport_pending(transport)) {
-        if (dispatch()) processDeliveries();
-        else break;
-    }
+    ssize_t n = 0;
+    do {
+        if (dispatch()) {
+            processDeliveries();
+            ssize_t next = pn_transport_pending(transport);
+            if (n == next) break;
+            n = next;
+        } else break;
+    } while (n > 0 && n < (ssize_t) capacity);
 }
 
 bool Connection::dispatch()
@@ -327,122 +344,92 @@ framing::ProtocolVersion Connection::get
 {
     return qpid::framing::ProtocolVersion(1,0);
 }
-namespace {
-pn_state_t REQUIRES_OPEN = PN_LOCAL_UNINIT | PN_REMOTE_ACTIVE;
-pn_state_t REQUIRES_CLOSE = PN_LOCAL_ACTIVE | PN_REMOTE_CLOSED;
-}
 
 void Connection::process()
 {
     QPID_LOG(trace, id << " process()");
+#ifdef HAVE_PROTON_EVENTS
+    pn_event_t *event = pn_collector_peek(collector);
+    while (event) {
+        switch (pn_event_type(event)) {
+        case PN_CONNECTION_REMOTE_OPEN:
+            doConnectionRemoteOpen();
+            break;
+        case PN_CONNECTION_REMOTE_CLOSE:
+            doConnectionRemoteClose();
+            break;
+        case PN_SESSION_REMOTE_OPEN:
+            doSessionRemoteOpen(pn_event_session(event));
+            break;
+        case PN_SESSION_REMOTE_CLOSE:
+            doSessionRemoteClose(pn_event_session(event));
+            break;
+        case PN_LINK_REMOTE_OPEN:
+            doLinkRemoteOpen(pn_event_link(event));
+            break;
+        case PN_LINK_REMOTE_CLOSE:
+            doLinkRemoteClose(pn_event_link(event));
+            break;
+        case PN_DELIVERY:
+            doDeliveryUpdated(pn_event_delivery(event));
+            break;
+        default:
+            break;
+        }
+        pn_collector_pop(collector);
+        event = pn_collector_peek(collector);
+    }
+
+#else   // !HAVE_PROTON_EVENTS
+
+    const pn_state_t REQUIRES_OPEN = PN_LOCAL_UNINIT | PN_REMOTE_ACTIVE;
+    const pn_state_t REQUIRES_CLOSE = PN_LOCAL_ACTIVE | PN_REMOTE_CLOSED;
+
     if ((pn_connection_state(connection) & REQUIRES_OPEN) == REQUIRES_OPEN) {
-        QPID_LOG_CAT(debug, model, id << " connection opened");
-        open();
-        setContainerId(pn_connection_remote_container(connection));
+        doConnectionRemoteOpen();
     }
 
     for (pn_session_t* s = pn_session_head(connection, REQUIRES_OPEN); s; s = 
pn_session_next(s, REQUIRES_OPEN)) {
-        QPID_LOG_CAT(debug, model, id << " session begun");
-        pn_session_open(s);
-        boost::shared_ptr<Session> ssn(new Session(s, *this, out));
-        sessions[s] = ssn;
+        doSessionRemoteOpen(s);
     }
     for (pn_link_t* l = pn_link_head(connection, REQUIRES_OPEN); l; l = 
pn_link_next(l, REQUIRES_OPEN)) {
-        pn_link_open(l);
-
-        Sessions::iterator session = sessions.find(pn_link_session(l));
-        if (session == sessions.end()) {
-            QPID_LOG(error, id << " Link attached on unknown session!");
-        } else {
-            try {
-                session->second->attach(l);
-                QPID_LOG_CAT(debug, protocol, id << " link " << l << " 
attached on " << pn_link_session(l));
-            } catch (const Exception& e) {
-                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
-                pn_condition_t* error = pn_link_condition(l);
-                pn_condition_set_name(error, e.symbol());
-                pn_condition_set_description(error, e.what());
-                pn_link_close(l);
-            } catch (const qpid::framing::UnauthorizedAccessException& e) {
-                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
-                pn_condition_t* error = pn_link_condition(l);
-                pn_condition_set_name(error, 
qpid::amqp::error_conditions::UNAUTHORIZED_ACCESS.c_str());
-                pn_condition_set_description(error, e.what());
-                pn_link_close(l);
-            } catch (const std::exception& e) {
-                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
-                pn_condition_t* error = pn_link_condition(l);
-                pn_condition_set_name(error, 
qpid::amqp::error_conditions::INTERNAL_ERROR.c_str());
-                pn_condition_set_description(error, e.what());
-                pn_link_close(l);
-            }
-        }
+        doLinkRemoteOpen(l);
     }
 
     processDeliveries();
 
     for (pn_link_t* l = pn_link_head(connection, REQUIRES_CLOSE); l; l = 
pn_link_next(l, REQUIRES_CLOSE)) {
-        pn_link_close(l);
-        Sessions::iterator session = sessions.find(pn_link_session(l));
-        if (session == sessions.end()) {
-            QPID_LOG(error, id << " peer attempted to detach link on unknown 
session!");
-        } else {
-            session->second->detach(l);
-            QPID_LOG_CAT(debug, model, id << " link detached");
-        }
+        doLinkRemoteClose(l);
     }
     for (pn_session_t* s = pn_session_head(connection, REQUIRES_CLOSE); s; s = 
pn_session_next(s, REQUIRES_CLOSE)) {
-        pn_session_close(s);
-        Sessions::iterator i = sessions.find(s);
-        if (i != sessions.end()) {
-            i->second->close();
-            sessions.erase(i);
-            QPID_LOG_CAT(debug, model, id << " session ended");
-        } else {
-            QPID_LOG(error, id << " peer attempted to close unrecognised 
session");
-        }
+        doSessionRemoteClose(s);
     }
     if ((pn_connection_state(connection) & REQUIRES_CLOSE) == REQUIRES_CLOSE) {
-        QPID_LOG_CAT(debug, model, id << " connection closed");
-        pn_connection_close(connection);
+        doConnectionRemoteClose();
     }
+#endif  // !HAVE_PROTON_EVENTS
 }
 namespace {
 std::string convert(pn_delivery_tag_t in)
 {
+#ifdef NO_PROTON_DELIVERY_TAG_T
+    return std::string(in.start, in.size);
+#else
     return std::string(in.bytes, in.size);
+#endif
 }
 }
 void Connection::processDeliveries()
 {
-    //handle deliveries
+#ifdef HAVE_PROTON_EVENTS
+    // with the event API, there's no way to selectively process only
+    // the delivery-related events.  We have to process all events:
+    process();
+#else
     for (pn_delivery_t* delivery = pn_work_head(connection); delivery; 
delivery = pn_work_next(delivery)) {
-        pn_link_t* link = pn_delivery_link(delivery);
-        try {
-            if (pn_link_is_receiver(link)) {
-                Sessions::iterator i = sessions.find(pn_link_session(link));
-                if (i != sessions.end()) {
-                    i->second->readable(link, delivery);
-                } else {
-                    pn_delivery_update(delivery, PN_REJECTED);
-                }
-            } else { //i.e. SENDER
-                Sessions::iterator i = sessions.find(pn_link_session(link));
-                if (i != sessions.end()) {
-                    QPID_LOG(trace, id << " handling outgoing delivery for " 
<< link << " on session " << pn_link_session(link));
-                    i->second->writable(link, delivery);
-                } else {
-                    QPID_LOG(error, id << " Got delivery for non-existent 
session: " << pn_link_session(link) << ", link: " << link);
-                }
-            }
-        } catch (const Exception& e) {
-            QPID_LOG_CAT(error, protocol, "Error processing deliveries: " << 
e.what());
-            pn_condition_t* error = pn_link_condition(link);
-            pn_condition_set_name(error, e.symbol());
-            pn_condition_set_description(error, e.what());
-            pn_link_close(link);
-        }
+        doDeliveryUpdated(delivery);
     }
+#endif
 }
 
 std::string Connection::getError()
@@ -470,4 +457,132 @@ void Connection::closedByManagement()
     closeRequested = true;
     out.activateOutput();
 }
+
+// the peer has issued an Open performative
+void Connection::doConnectionRemoteOpen()
+{
+    // respond in kind if we haven't yet
+    if ((pn_connection_state(connection) & PN_LOCAL_UNINIT) == 
PN_LOCAL_UNINIT) {
+        QPID_LOG_CAT(debug, model, id << " connection opened");
+        open();
+        setContainerId(pn_connection_remote_container(connection));
+    }
+}
+
+// the peer has issued a Close performative
+void Connection::doConnectionRemoteClose()
+{
+    if ((pn_connection_state(connection) & PN_LOCAL_CLOSED) == 0) {
+        QPID_LOG_CAT(debug, model, id << " connection closed");
+        pn_connection_close(connection);
+    }
+}
+
+// the peer has issued a Begin performative
+void Connection::doSessionRemoteOpen(pn_session_t *session)
+{
+    if ((pn_session_state(session) & PN_LOCAL_UNINIT) == PN_LOCAL_UNINIT) {
+        QPID_LOG_CAT(debug, model, id << " session begun");
+        pn_session_open(session);
+        boost::shared_ptr<Session> ssn(new Session(session, *this, out));
+        sessions[session] = ssn;
+    }
+}
+
+// the peer has issued an End performative
+void Connection::doSessionRemoteClose(pn_session_t *session)
+{
+    if ((pn_session_state(session) & PN_LOCAL_CLOSED) == 0) {
+        pn_session_close(session);
+        Sessions::iterator i = sessions.find(session);
+        if (i != sessions.end()) {
+            i->second->close();
+            sessions.erase(i);
+            QPID_LOG_CAT(debug, model, id << " session ended");
+        } else {
+            QPID_LOG(error, id << " peer attempted to close unrecognised 
session");
+        }
+    }
+}
+
+// the peer has issued an Attach performative
+void Connection::doLinkRemoteOpen(pn_link_t *link)
+{
+    if ((pn_link_state(link) & PN_LOCAL_UNINIT) == PN_LOCAL_UNINIT) {
+        pn_link_open(link);
+        Sessions::iterator session = sessions.find(pn_link_session(link));
+        if (session == sessions.end()) {
+            QPID_LOG(error, id << " Link attached on unknown session!");
+        } else {
+            try {
+                session->second->attach(link);
+                QPID_LOG_CAT(debug, protocol, id << " link " << link << " 
attached on " << pn_link_session(link));
+            } catch (const Exception& e) {
+                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
+                pn_condition_t* error = pn_link_condition(link);
+                pn_condition_set_name(error, e.symbol());
+                pn_condition_set_description(error, e.what());
+                pn_link_close(link);
+            } catch (const qpid::framing::UnauthorizedAccessException& e) {
+                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
+                pn_condition_t* error = pn_link_condition(link);
+                pn_condition_set_name(error, 
qpid::amqp::error_conditions::UNAUTHORIZED_ACCESS.c_str());
+                pn_condition_set_description(error, e.what());
+                pn_link_close(link);
+            } catch (const std::exception& e) {
+                QPID_LOG_CAT(error, protocol, "Error on attach: " << e.what());
+                pn_condition_t* error = pn_link_condition(link);
+                pn_condition_set_name(error, 
qpid::amqp::error_conditions::INTERNAL_ERROR.c_str());
+                pn_condition_set_description(error, e.what());
+                pn_link_close(link);
+            }
+        }
+    }
+}
+
+// the peer has issued a Detach performative
+void Connection::doLinkRemoteClose(pn_link_t *link)
+{
+    if ((pn_link_state(link) & PN_LOCAL_CLOSED) == 0) {
+        pn_link_close(link);
+        Sessions::iterator session = sessions.find(pn_link_session(link));
+        if (session == sessions.end()) {
+            QPID_LOG(error, id << " peer attempted to detach link on unknown 
session!");
+        } else {
+            session->second->detach(link);
+            QPID_LOG_CAT(debug, model, id << " link detached");
+        }
+    }
+}
+
+// the status of the delivery has changed
+void Connection::doDeliveryUpdated(pn_delivery_t *delivery)
+{
+    pn_link_t* link = pn_delivery_link(delivery);
+    try {
+        if (pn_link_is_receiver(link)) {
+            Sessions::iterator i = sessions.find(pn_link_session(link));
+            if (i != sessions.end()) {
+                i->second->readable(link, delivery);
+            } else {
+                pn_delivery_update(delivery, PN_REJECTED);
+            }
+        } else { //i.e. SENDER
+            Sessions::iterator i = sessions.find(pn_link_session(link));
+            if (i != sessions.end()) {
+                QPID_LOG(trace, id << " handling outgoing delivery for " << 
link << " on session " << pn_link_session(link));
+                i->second->writable(link, delivery);
+            } else {
+                QPID_LOG(error, id << " Got delivery for non-existent session: 
" << pn_link_session(link) << ", link: " << link);
+            }
+        }
+    } catch (const Exception& e) {
+        QPID_LOG_CAT(error, protocol, "Error processing deliveries: " << 
e.what());
+        pn_condition_t* error = pn_link_condition(link);
+        pn_condition_set_name(error, e.symbol());
+        pn_condition_set_description(error, e.what());
+        pn_link_close(link);
+    }
+}
+
 }}} // namespace qpid::broker::amqp

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Connection.h
 Tue Jan 27 15:00:13 2015
@@ -31,6 +31,9 @@
 struct pn_connection_t;
 struct pn_session_t;
 struct pn_transport_t;
+struct pn_collector_t;
+struct pn_link_t;
+struct pn_delivery_t;
 
 namespace qpid {
 namespace sys {
@@ -69,6 +72,7 @@ class Connection : public BrokerContext,
     typedef std::map<pn_session_t*, boost::shared_ptr<Session> > Sessions;
     pn_connection_t* connection;
     pn_transport_t* transport;
+    pn_collector_t* collector;
     qpid::sys::OutputControl& out;
     const std::string id;
     bool haveOutput;
@@ -86,6 +90,17 @@ class Connection : public BrokerContext,
     void open();
     void readPeerProperties();
     void closedByManagement();
+
+ private:
+    // handle Proton engine events
+    void doConnectionRemoteOpen();
+    void doConnectionRemoteClose();
+    void doSessionRemoteOpen(pn_session_t *session);
+    void doSessionRemoteClose(pn_session_t *session);
+    void doLinkRemoteOpen(pn_link_t *link);
+    void doLinkRemoteClose(pn_link_t *link);
+    void doDeliveryUpdated(pn_delivery_t *delivery);
+
 };
 }}} // namespace qpid::broker::amqp
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Domain.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Domain.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Domain.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Domain.cpp 
Tue Jan 27 15:00:13 2015
@@ -140,6 +140,10 @@ class InterconnectFactory : public Broke
                         boost::shared_ptr<Domain>, BrokerContext&, 
boost::shared_ptr<Relay>);
     qpid::sys::ConnectionCodec* create(const framing::ProtocolVersion&, 
qpid::sys::OutputControl&, const std::string&, const 
qpid::sys::SecuritySettings&);
     qpid::sys::ConnectionCodec* create(qpid::sys::OutputControl&, const 
std::string&, const qpid::sys::SecuritySettings&);
+    qpid::framing::ProtocolVersion supportedVersion() const
+    {
+        return qpid::framing::ProtocolVersion(1, 0);
+    }
     bool connect();
     void failed(int, std::string);
   private:

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.cpp
 Tue Jan 27 15:00:13 2015
@@ -57,7 +57,7 @@ uint32_t Incoming::getCredit()
     return credit;//TODO: proper flow control
 }
 
-void Incoming::detached()
+void Incoming::detached(bool /*closed*/)
 {
 }
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.h 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Incoming.h 
Tue Jan 27 15:00:13 2015
@@ -42,7 +42,7 @@ class Incoming : public ManagedIncomingL
     virtual ~Incoming();
     virtual bool doWork();//do anything that requires output
     virtual bool haveWork();//called when handling input to see whether any 
output work is needed
-    virtual void detached();
+    virtual void detached(bool closed);
     virtual void readable(pn_delivery_t* delivery) = 0;
     void verify(const std::string& userid, const std::string& defaultRealm);
     void wakeup();

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
 Tue Jan 27 15:00:13 2015
@@ -32,6 +32,7 @@
 #include "qpid/framing/Buffer.h"
 #include "qpid/framing/reply_exceptions.h"
 #include "qpid/log/Statement.h"
+#include "config.h"
 
 namespace qpid {
 namespace broker {
@@ -156,7 +157,7 @@ bool OutgoingFromQueue::canDeliver()
     return deliveries[current].delivery == 0 && pn_link_credit(link);
 }
 
-void OutgoingFromQueue::detached()
+void OutgoingFromQueue::detached(bool closed)
 {
     QPID_LOG(debug, "Detaching outgoing link " << getName() << " from " << 
queue->getName());
     queue->cancel(shared_from_this());
@@ -164,12 +165,14 @@ void OutgoingFromQueue::detached()
     for (size_t i = 0 ; i < deliveries.capacity(); ++i) {
         if (deliveries[i].msg) queue->release(deliveries[i].cursor, true);
     }
-    if (exclusive) queue->releaseExclusiveOwnership();
-    else if (isControllingUser) queue->releaseFromUse(true);
+    if (exclusive) {
+        queue->releaseExclusiveOwnership(closed);
+    } else if (isControllingUser) {
+        queue->releaseFromUse(true);
+    }
     cancelled = true;
 }
 
-
 OutgoingFromQueue::~OutgoingFromQueue()
 {
     if (!cancelled && isControllingUser) queue->releaseFromUse(true);
@@ -283,7 +286,11 @@ qpid::broker::OwnershipToken* OutgoingFr
 
 OutgoingFromQueue::Record::Record() : delivery(0), disposition(0), index(0)
 {
+#ifdef NO_PROTON_DELIVERY_TAG_T
+    tag.start = tagData;
+#else
     tag.bytes = tagData;
+#endif
     tag.size = TAG_WIDTH;
 }
 void OutgoingFromQueue::Record::init(size_t i)
@@ -304,7 +311,11 @@ void OutgoingFromQueue::Record::reset()
 size_t OutgoingFromQueue::Record::getIndex(pn_delivery_tag_t t)
 {
     assert(t.size == TAG_WIDTH);
+#ifdef NO_PROTON_DELIVERY_TAG_T
+    qpid::framing::Buffer buffer(const_cast<char*>(t.start)/*won't ever be 
written to*/, t.size);
+#else
     qpid::framing::Buffer buffer(const_cast<char*>(t.bytes)/*won't ever be 
written to*/, t.size);
+#endif
     return (size_t) buffer.getLong();
 }
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.h?rev=1655057&r1=1655056&r2=1655057&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 
Tue Jan 27 15:00:13 2015
@@ -70,7 +70,7 @@ class Outgoing : public ManagedOutgoingL
     /**
      * Signals that this link has been detached
      */
-    virtual void detached() = 0;
+    virtual void detached(bool closed) = 0;
     /**
      * Called when a delivery is writable
      */
@@ -98,7 +98,7 @@ class OutgoingFromQueue : public Outgoin
     void write(const char* data, size_t size);
     void handle(pn_delivery_t* delivery);
     bool canDeliver();
-    void detached();
+    void detached(bool closed);
 
     //Consumer interface:
     bool deliver(const QueueCursor& cursor, const qpid::broker::Message& msg);



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

Reply via email to