Author: kwall
Date: Tue Feb 10 16:15:08 2015
New Revision: 1658748

URL: http://svn.apache.org/r1658748
Log:
merge from trunk

Added:
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake
      - copied unchanged from r1658732, 
qpid/trunk/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/idle_timeout_tests.py
      - copied unchanged from r1658732, 
qpid/trunk/qpid/cpp/src/tests/idle_timeout_tests.py
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLOptions.java
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLOptions.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvider.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/GroupManagingGroupProvider.java
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/GroupManagingGroupProvider.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaKeyStoreTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/NonJavaTrustStoreTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addGroupProvider.html
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addGroupProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/common/ResourceWidget.html
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/common/ResourceWidget.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/groupfile/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/groupfile/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/showGroupManagingGroupProvider.html
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/showGroupManagingGroupProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js
      - copied unchanged from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/nonjavakeystore/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/store/nonjavakeystore/
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/nonjavatruststore/
      - copied from r1658732, 
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/store/nonjavatruststore/
Removed:
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/showFileGroupManager.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/FileGroupManager.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/test/unit/close/MessageRequeueTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/test/utils/QpidClientConnection.java
Modified:
    qpid/branches/QPID-6262-JavaBrokerNIO/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeLists.txt
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/INSTALL
    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/config.h.cmake
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/InlineAllocator.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/NullSaslServer.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/Options.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RangeSet.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RefCounted.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/SessionId.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp/MapEncoder.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/   (props 
changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueRegistry.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/TopicKeyNode.h
    
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/Filter.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/windows/SslConnector.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/Transport.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/windows/SslTransport.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/store/MessageStorePlugin.h
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/Thread.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Thread.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Time.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/unordered_map.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.cpp
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.h
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/Thread.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/types/Variant.cpp
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/CMakeLists.txt
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/TimerTest.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/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/ConnectionFactoryImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Connection.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProviderFactory.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransportProvider.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/pom.xml
    
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/logging/messages/ManagementConsoleMessages.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties
    
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/ConfiguredAutomatedAttribute.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.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/Port.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.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/FileTrustStore.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/NonJavaKeyStore.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStore.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/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/store/BrokerStoreUpgraderAndRecoverer.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/initial-config.json
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/system.properties
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/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
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProvider.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-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.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/addAccessControlProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addBinding.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addExchange.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addPort.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addPreferencesProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/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/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/editBroker.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/editVirtualHostNode.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/footer.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/grid/showColumnDefDialog.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/grid/showRowNumberLimitDialog.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/group/addGroupMember.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/group/showGroup.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/groupprovider/addGroup.html
    
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/GroupProvider.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/PreferencesProvider.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/addAuthenticationProvider.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/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/group/Group.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/login.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/logs/showLogFileDownloadDialog.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/preferencesprovider/preferencesProviderForm.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showAuthProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showGroupProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferences.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferencesProvider.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/filekeystore/add.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/filetruststore/add.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/main/java/resources/store/filetruststore/show.html
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidSslRMIServerSocketFactory.java
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker/bin/qpid-server.bat
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.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/test/java/org/apache/qpid/client/MockAMQConnection.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/codec/ServerDecoder.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/common/QpidProperties.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/configuration/ClientProperties.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/configuration/CommonProperties.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/NetworkTransportConfiguration.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/NonBlockingConnection.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/NonBlockingNetworkTransport.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/NonBlockingSenderReceiver.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLReceiver.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.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/pom.xml
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/etc/config-systests.json
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/client/session/QueueDeclareTest.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/logging/ChannelLoggingTest.java
    
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationTest.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/KeyStoreRestTest.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/test-profiles/Java010Excludes
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/python/   (props changed)
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/python/qpid/messaging/driver.py
    qpid/branches/QPID-6262-JavaBrokerNIO/qpid/tools/setup.py

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 10 16:15:08 2015
@@ -3,4 +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
+/qpid/trunk:1643238-1658732

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 10 16:15:08 2015
@@ -6,4 +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
+/qpid/trunk/qpid:1643238-1658732

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeLists.txt?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeLists.txt (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/CMakeLists.txt Tue Feb 10 
16:15:08 2015
@@ -182,6 +182,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL SunPr
   set (HIDE_SYMBOL_FLAGS "")
 endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
 
+# XL is IBM XL C/C++
+if (CMAKE_CXX_COMPILER_ID MATCHES XL)
+  set (COMPILER_FLAGS "-qtls -qrtti")
+endif (CMAKE_CXX_COMPILER_ID MATCHES XL)
+
 if (CMAKE_SYSTEM_NAME STREQUAL Windows)
   # Allow MSVC user to select 'WinXP-SP3/Windows Server 2003' as build target 
version
   set (win32_winnt_default OFF)

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/INSTALL
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/INSTALL?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/INSTALL (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/INSTALL Tue Feb 10 16:15:08 
2015
@@ -91,7 +91,7 @@ Or if you have only have a command line
 
 2.1 Building as C++11 (Experimental)
 ====================================
-Currently the Qpoid project uses C++ that conforms to the C++03 standard, as 
currently
+Currently the Qpid project uses C++ that conforms to the C++03 standard, as 
currently
 this is the C++ standard that is supported the most widely, so any new code 
must also
 compile as C++03. As an experiment (and to support a few extra platforms) the 
Qpid code
 will also now build as C++11.
@@ -141,6 +141,23 @@ If you want to use the ports version of
 Which will allow cmake to find libraries installed in /usr/local (which is 
where cyrus-sasl gets
 installed by ports).
 
+2.4 Building on AIX
+===================
+Qpid has been tested on AIX 7.1 with XL C++ 13.1 and Boost 1.55.0. The
+thread-using variant of the compiler must be used but it isn't the default
+picked up by cmake. Thus, the compiler must be specified at cmake time.
+For example (assuming PATH includes the compiler binaries):
+
+ # CXX=xlC_r CC=cc_r cmake ..
+
+Warnings from Boost header files are expected and can be ignored.
+
+It is normal to see (lots of) multiply-defined symbol warnings when linking
+the shared libraries built as part of Qpid.
+
+The mktemp package must be installed separately in order to execute the
+Qpid test suite.
+
 3. Building a Repository Working Copy
 =====================================
 To get the source code from the subversion repository (trunk) do:

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 10 16:15:08 2015
@@ -6,4 +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
+/qpid/trunk/qpid/cpp/src:1643238-1658732

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=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt Tue Feb 
10 16:15:08 2015
@@ -42,6 +42,7 @@ include(CheckIncludeFiles)
 include(CheckIncludeFileCXX)
 include(CheckLibraryExists)
 include(CheckSymbolExists)
+include(CheckSizeTNativeType)
 
 find_package(PkgConfig)
 find_package(Ruby)
@@ -350,6 +351,8 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL Windo
   mark_as_advanced(QPID_POLLER)
 endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
 
+check_size_t_native_type (QPID_SIZE_T_NATIVE)
+
 option(BUILD_SASL "Build with Cyrus SASL support" ${SASL_FOUND})
 if (BUILD_SASL)
   if (NOT SASL_FOUND)
@@ -684,6 +687,12 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows
     )
   endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
 
+  if (CMAKE_SYSTEM_NAME STREQUAL AIX)
+    set (qpid_system_module
+      qpid/sys/aix/SystemInfo.cpp
+    )
+  endif (CMAKE_SYSTEM_NAME STREQUAL AIX)
+
   if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
     # -lmalloc needed for mallinfo.
     set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lmalloc")
@@ -1145,6 +1154,9 @@ set_target_properties (qpidbroker PROPER
                        VERSION ${qpidbroker_version}
                        SOVERSION ${qpidbroker_version_major}
                        COMPILE_DEFINITIONS _IN_QPID_BROKER)
+if (CMAKE_CXX_COMPILER_ID MATCHES XL)
+  set_target_properties (qpidbroker PROPERTIES LINK_FLAGS -Wl,-bbigtoc)
+endif (CMAKE_CXX_COMPILER_ID MATCHES XL)
 
 if (MSVC)
   set_target_properties (qpidbroker PROPERTIES COMPILE_FLAGS /wd4290)

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/CMakeLists.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 10 16:15:08 2015
@@ -7,4 +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
+/qpid/trunk/qpid/cpp/src/CMakeLists.txt:1643238-1658732

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=1658748&r1=1658747&r2=1658748&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 Feb 
10 16:15:08 2015
@@ -56,6 +56,7 @@
 #cmakedefine HAVE_SYS_SDT_H ${HAVE_SYS_SDT_H}
 #cmakedefine HAVE_LOG_AUTHPRIV
 #cmakedefine HAVE_LOG_FTP
+#cmakedefine QPID_SIZE_T_NATIVE
 #cmakedefine HAVE_PROTON_TRACER
 #cmakedefine USE_PROTON_TRANSPORT_CONDITION
 #cmakedefine HAVE_PROTON_EVENTS

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/InlineAllocator.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/InlineAllocator.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/InlineAllocator.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/InlineAllocator.h 
Tue Feb 10 16:15:08 2015
@@ -47,7 +47,7 @@ class InlineAllocator : public BaseAlloc
     InlineAllocator() : allocated(false) {}
     InlineAllocator(const InlineAllocator& x) : BaseAllocator(x), 
allocated(false) {}
 
-    pointer allocate(size_type n) {
+    pointer allocate(size_type n, std::allocator<void>::const_pointer = 0) {
         if (n <= Max && !allocated) {
             allocated=true;
             return reinterpret_cast<value_type*>(address());

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/NullSaslServer.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/NullSaslServer.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/NullSaslServer.cpp 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/NullSaslServer.cpp 
Tue Feb 10 16:15:08 2015
@@ -66,7 +66,6 @@ NullSaslServer::Status NullSaslServer::s
 
 NullSaslServer::Status NullSaslServer::step(const std::string* /*response*/, 
std::string& /*challenge*/)
 {
-    assert(false);
     return FAIL;
 }
 std::string NullSaslServer::getMechanisms()

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/Options.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/Options.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/Options.cpp 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/Options.cpp Tue Feb 
10 16:15:08 2015
@@ -16,6 +16,7 @@
  *
  */
 
+#include "config.h"
 #include "qpid/Options.h"
 #include "qpid/OptionsTemplates.h"
 #include "qpid/Exception.h"
@@ -145,6 +146,9 @@ template QPID_COMMON_EXTERN po::value_se
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint16_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint32_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint64_t& val, 
const std::string& arg);
+#ifdef QPID_SIZE_T_NATIVE
+template QPID_COMMON_EXTERN po::value_semantic* create_value(size_t& val, 
const std::string& arg);
+#endif
 template QPID_COMMON_EXTERN po::value_semantic* create_value(double& val, 
const std::string& arg);
 
 template QPID_COMMON_EXTERN po::value_semantic* create_value(string& val, 
const std::string& arg);

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RangeSet.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RangeSet.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RangeSet.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RangeSet.h Tue Feb 
10 16:15:08 2015
@@ -96,9 +96,9 @@ class Range {
  */
 template <class T>
 class RangeSet
-    : boost::additive1<RangeSet<T>,
-                       boost::additive2<RangeSet<T>, Range<T>,
-                                        boost::additive2<RangeSet<T>, T> > >
+    : private boost::additive1<RangeSet<T>,
+                               boost::additive2<RangeSet<T>, Range<T>,
+                                                boost::additive2<RangeSet<T>, 
T> > >
 {
     typedef InlineVector<Range<T>, 3> Ranges; // TODO aconway 2008-04-21: 
what's the optimial inlined value?
 

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RefCounted.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RefCounted.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RefCounted.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/RefCounted.h Tue 
Feb 10 16:15:08 2015
@@ -33,7 +33,7 @@ namespace qpid {
  * to the class that has mixed this in not the class itself (as that would 
sidestep
  * the reference counting)
  */
-class RefCounted : boost::noncopyable {
+class RefCounted : private boost::noncopyable {
     mutable boost::detail::atomic_count count;
 
 public:

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/SessionId.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/SessionId.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/SessionId.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/SessionId.h Tue Feb 
10 16:15:08 2015
@@ -39,7 +39,7 @@ namespace qpid {
  * The name must be unique among sessions with the same authentication
  * principal.
  */
-class SessionId : boost::totally_ordered1<SessionId> {
+class SessionId : private boost::totally_ordered1<SessionId> {
     std::string userId;
     std::string name;
   public:

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp/MapEncoder.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp/MapEncoder.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp/MapEncoder.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/amqp/MapEncoder.h 
Tue Feb 10 16:15:08 2015
@@ -31,7 +31,7 @@ struct Descriptor;
 /**
  * Encode map like data
  */
-class MapEncoder : public MapHandler, Encoder
+class MapEncoder : public MapHandler, private Encoder
 {
   public:
     MapEncoder(char* data, size_t size);

Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 10 16:15:08 2015
@@ -7,4 +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
+/qpid/trunk/qpid/cpp/src/qpid/broker:1643238-1658732

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/LossyLvq.h 
Tue Feb 10 16:15:08 2015
@@ -28,6 +28,12 @@ namespace qpid {
 namespace broker {
 class MessageMap;
 
+// Disable inherited-by-dominance warning on MSVC. We know. It's ok.
+#ifdef _MSC_VER
+#  pragma warning(push)
+#  pragma warning(disable : 4250)
+#endif
+
 /**
  * Combination of LossyQueue and Lvq behaviours.
  */
@@ -36,6 +42,11 @@ class LossyLvq : public Lvq, public Loss
   public:
     LossyLvq(const std::string&, std::auto_ptr<MessageMap>, const 
QueueSettings&, MessageStore* const, management::Manageable*, Broker*);
 };
+
+#ifdef _MSC_VER
+#  pragma warning(pop)
+#endif
+
 }} // namespace qpid::broker
 
 #endif  /*!QPID_BROKER_LOSSYLVQ_H*/

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueRegistry.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueRegistry.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueRegistry.h 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/QueueRegistry.h 
Tue Feb 10 16:15:08 2015
@@ -44,7 +44,7 @@ class OwnershipToken;
  * are deleted when and only when they are no longer in use.
  *
  */
-class QueueRegistry : QueueFactory {
+class QueueRegistry : private QueueFactory {
   public:
     QPID_BROKER_EXTERN QueueRegistry(Broker* b = 0);
     QPID_BROKER_EXTERN ~QueueRegistry();

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/TopicKeyNode.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/TopicKeyNode.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/TopicKeyNode.h 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/TopicKeyNode.h 
Tue Feb 10 16:15:08 2015
@@ -166,7 +166,7 @@ class QPID_BROKER_CLASS_EXTERN TopicKeyN
     bool isHash;
 
     // children
-    typedef std::map<const std::string, typename TopicKeyNode::shared_ptr> 
ChildMap;
+    typedef std::map<std::string, typename TopicKeyNode::shared_ptr> ChildMap;
     ChildMap childTokens;
     typename TopicKeyNode::shared_ptr starChild;  // "*" subtree
     typename TopicKeyNode::shared_ptr hashChild;  // "#" subtree

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=1658748&r1=1658747&r2=1658748&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 Feb 10 16:15:08 2015
@@ -121,7 +121,7 @@ Connection::Connection(qpid::sys::Output
       connection(pn_connection()),
       transport(pn_transport()),
       collector(0),
-      out(o), id(i), haveOutput(true), closeInitiated(false), 
closeRequested(false)
+      out(o), id(i), haveOutput(true), closeInitiated(false), 
closeRequested(false), ioRequested(false)
 {
 #ifdef HAVE_PROTON_EVENTS
     collector = pn_collector();
@@ -157,6 +157,7 @@ Connection::Connection(qpid::sys::Output
 
 void Connection::requestIO()
 {
+    ioRequested = true;
     out.activateOutput();
 }
 
@@ -179,13 +180,24 @@ size_t Connection::decode(const char* bu
 {
     QPID_LOG(trace, id << " decode(" << size << ")");
     if (size == 0) return 0;
-    //TODO: Fix pn_engine_input() to take const buffer
+
     ssize_t n = pn_transport_input(transport, const_cast<char*>(buffer), size);
     if (n > 0 || n == PN_EOS) {
-        //If engine returns EOS, have no way of knowing how many bytes
-        //it processed, but can assume none need to be reprocessed so
-        //consider them all read:
-        if (n == PN_EOS) n = size;
+        // PN_EOS either means we received a Close (which also means we've
+        // consumed all the input), OR some Very Bad Thing happened and this
+        // connection is toast.
+        if (n == PN_EOS)
+        {
+            std::string error;
+            if (checkTransportError(error)) {
+                // "He's dead, Jim."
+                QPID_LOG_CAT(error, network, id << " connection failed: " << 
error);
+                out.abort();
+                return 0;
+            } else {
+                n = size;   // assume all consumed
+            }
+        }
         QPID_LOG_CAT(debug, network, id << " decoded " << n << " bytes from " 
<< size);
         try {
             process();
@@ -209,7 +221,11 @@ size_t Connection::decode(const char* bu
         }
         return n;
     } else if (n == PN_ERR) {
-        throw Exception(qpid::amqp::error_conditions::DECODE_ERROR, 
QPID_MSG("Error on input: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        out.abort();
+        return 0;
     } else {
         return 0;
     }
@@ -224,8 +240,21 @@ size_t Connection::encode(char* buffer,
         QPID_LOG_CAT(debug, network, id << " encoded " << n << " bytes from " 
<< size)
         haveOutput = true;
         return n;
+    } else if (n == PN_EOS) {
+        haveOutput = false;
+        // Normal close, or error?
+        std::string error;
+        if (checkTransportError(error)) {
+            QPID_LOG_CAT(error, network, id << " connection failed: " << 
error);
+            out.abort();
+        }
+        return 0;
     } else if (n == PN_ERR) {
-        throw Exception(qpid::amqp::error_conditions::INTERNAL_ERROR, 
QPID_MSG("Error on output: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        out.abort();
+        return 0;
     } else {
         haveOutput = false;
         return 0;
@@ -291,6 +320,7 @@ bool Connection::canEncode()
     } else {
         QPID_LOG(info, "Connection " << id << " has been closed locally");
     }
+    if (ioRequested.valueCompareAndSwap(true, false)) haveOutput = true;
     pn_transport_tick(transport, qpid::sys::Duration::FromEpoch() / 
qpid::sys::TIME_MSEC);
     QPID_LOG_CAT(trace, network, id << " canEncode(): " << haveOutput)
     return haveOutput;
@@ -303,8 +333,22 @@ void Connection::open()
     pn_connection_set_container(connection, 
getBroker().getFederationTag().c_str());
     uint32_t timeout = pn_transport_get_remote_idle_timeout(transport);
     if (timeout) {
-        ticker = boost::intrusive_ptr<qpid::sys::TimerTask>(new 
ConnectionTickerTask(timeout, getBroker().getTimer(), *this));
-        pn_transport_set_idle_timeout(transport, timeout);
+        // if idle generate empty frames at 1/2 the timeout interval as 
keepalives:
+        ticker = boost::intrusive_ptr<qpid::sys::TimerTask>(new 
ConnectionTickerTask((timeout+1)/2,
+                                                                               
      getBroker().getTimer(),
+                                                                               
      *this));
+        getBroker().getTimer().add(ticker);
+
+        // Note: in version 0-10 of the protocol, idle timeout applies to both
+        // ends.  AMQP 1.0 changes that - it's now asymmetric: each end can
+        // configure/disable it independently.  For backward compatibility, by
+        // default mimic the old behavior and set our local timeout.
+        // Use 2x the remote's timeout, as per the spec the remote should
+        // advertise 1/2 its actual timeout threshold
+        pn_transport_set_idle_timeout(transport, timeout * 2);
+        QPID_LOG_CAT(debug, network, id << " AMQP 1.0 idle-timeout set:"
+                     << " local=" << pn_transport_get_idle_timeout(transport)
+                     << " remote=" << 
pn_transport_get_remote_idle_timeout(transport));
     }
 
     pn_connection_open(connection);
@@ -585,4 +629,22 @@ void Connection::doDeliveryUpdated(pn_de
     }
 }
 
+// check for failures of the transport:
+bool Connection::checkTransportError(std::string& text)
+{
+    std::stringstream info;
+
+#ifdef USE_PROTON_TRANSPORT_CONDITION
+    pn_condition_t* tcondition = pn_transport_condition(transport);
+    if (pn_condition_is_set(tcondition))
+        info << "transport error: " << pn_condition_get_name(tcondition) << ", 
" << pn_condition_get_description(tcondition);
+#else
+    pn_error_t* terror = pn_transport_error(transport);
+    if (terror) info << "transport error " << pn_error_text(terror) << " [" << 
terror << "]";
+#endif
+
+    text = info.str();
+    return !text.empty();
+}
+
 }}} // 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=1658748&r1=1658747&r2=1658748&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 Feb 10 16:15:08 2015
@@ -24,6 +24,7 @@
 #include "qpid/sys/ConnectionCodec.h"
 #include "qpid/broker/amqp/BrokerContext.h"
 #include "qpid/broker/amqp/ManagedConnection.h"
+#include "qpid/sys/AtomicValue.h"
 #include <map>
 #include <boost/intrusive_ptr.hpp>
 #include <boost/shared_ptr.hpp>
@@ -80,6 +81,7 @@ class Connection : public BrokerContext,
     bool closeInitiated;
     bool closeRequested;
     boost::intrusive_ptr<sys::TimerTask> ticker;
+    qpid::sys::AtomicValue<bool> ioRequested;
 
     virtual void process();
     void doOutput(size_t);
@@ -92,6 +94,8 @@ class Connection : public BrokerContext,
     void closedByManagement();
 
  private:
+    bool checkTransportError(std::string&);
+
     // handle Proton engine events
     void doConnectionRemoteOpen();
     void doConnectionRemoteClose();
@@ -100,7 +104,6 @@ class Connection : public BrokerContext,
     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/Filter.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Filter.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Filter.h 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/broker/amqp/Filter.h 
Tue Feb 10 16:15:08 2015
@@ -37,7 +37,7 @@ struct QueueSettings;
 namespace amqp {
 class Outgoing;
 
-class Filter : qpid::amqp::MapReader
+class Filter : private qpid::amqp::MapReader
 {
   public:
     Filter();

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
 Tue Feb 10 16:15:08 2015
@@ -548,8 +548,8 @@ Subscription::Subscription(const Address
     if ((Opt(address)/LINK).hasKey(TIMEOUT)) {
         const Variant* timeout = (Opt(address)/LINK/TIMEOUT).value;
         if (timeout->asUint32()) 
queueOptions.setInt("qpid.auto_delete_timeout", timeout->asUint32());
-    } else if (durable && !reliable && 
!(Opt(address)/LINK/X_DECLARE).hasKey(AUTO_DELETE)) {
-        //if durable but not reliable, and auto-delete not
+    } else if (durable && !AddressResolution::is_reliable(address) && 
!(Opt(address)/LINK/X_DECLARE).hasKey(AUTO_DELETE)) {
+        //if durable, not explicitly reliable, and auto-delete not
         //explicitly set, then set a non-zero default for the
         //autodelete timeout
         queueOptions.setInt("qpid.auto_delete_timeout", 2*60);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
 Tue Feb 10 16:15:08 2015
@@ -164,8 +164,13 @@ bool IncomingMessages::get(Handler& hand
             ScopedRelease release(inUse, lock);
             sys::Mutex::ScopedUnlock l(lock);
             //wait for suitable new message to arrive
-            if (process(&handler, get_duration(timeout, deadline))) {
+            switch (process(&handler, get_duration(timeout, deadline))) {
+              case OK:
                 return true;
+              case CLOSED:
+                return false;
+              case EMPTY:
+                break;
             }
         }
         if (handler.isClosed()) throw qpid::messaging::ReceiverError("Receiver 
has been closed");
@@ -233,7 +238,7 @@ void IncomingMessages::releaseAll()
     }
     //then pump out any available messages from incoming queue...
     GetAny handler;
-    while (process(&handler, 0)) ;
+    while (process(&handler, 0) == OK) ;
     //now release all messages
     sys::Mutex::ScopedLock l(lock);
     acceptTracker.release(session);
@@ -242,7 +247,7 @@ void IncomingMessages::releaseAll()
 void IncomingMessages::releasePending(const std::string& destination)
 {
     //first pump all available messages from incoming to received...
-    while (process(0, 0)) ;
+    while (process(0, 0) == OK) ;
 
     //now remove all messages for this destination from received list, 
recording their ids...
     sys::Mutex::ScopedLock l(lock);
@@ -269,7 +274,7 @@ bool IncomingMessages::pop(FrameSet::sha
  * that are not accepted by the handler are pushed onto received queue
  * for later retrieval.
  */
-bool IncomingMessages::process(Handler* handler, qpid::sys::Duration duration)
+IncomingMessages::ProcessState IncomingMessages::process(Handler* handler, 
qpid::sys::Duration duration)
 {
     AbsTime deadline(AbsTime::now(), duration);
     FrameSet::shared_ptr content;
@@ -282,7 +287,7 @@ bool IncomingMessages::process(Handler*
                 } else if (handler && handler->accept(transfer)) {
                     QPID_LOG(debug, "Delivered " << *content->getMethod() << " 
"
                              << *content->getHeaders());
-                    return true;
+                    return OK;
                 } else {
                     //received message for another destination, keep for later
                     QPID_LOG(debug, "Pushed " << *content->getMethod() << " to 
received queue");
@@ -295,8 +300,8 @@ bool IncomingMessages::process(Handler*
             }
         }
     }
-    catch (const qpid::ClosedException&) {} // Just return false if queue 
closed.
-    return false;
+    catch (const qpid::ClosedException&) { return CLOSED; }
+    return EMPTY;
 }
 
 bool IncomingMessages::wait(qpid::sys::Duration duration)
@@ -331,7 +336,7 @@ uint32_t IncomingMessages::pendingAccept
 uint32_t IncomingMessages::available()
 {
     //first pump all available messages from incoming to received...
-    while (process(0, 0)) {}
+    while (process(0, 0) == OK) {}
     //return the count of received messages
     sys::Mutex::ScopedLock l(lock);
     return received.size();
@@ -340,7 +345,7 @@ uint32_t IncomingMessages::available()
 uint32_t IncomingMessages::available(const std::string& destination)
 {
     //first pump all available messages from incoming to received...
-    while (process(0, 0)) {}
+    while (process(0, 0) == OK) {}
 
     //count all messages for this destination from received list
     sys::Mutex::ScopedLock l(lock);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h
 Tue Feb 10 16:15:08 2015
@@ -87,6 +87,7 @@ class IncomingMessages
     uint32_t available(const std::string& destination);
   private:
     typedef std::deque<FrameSetPtr> FrameSetQueue;
+    enum ProcessState {EMPTY=0,OK=1,CLOSED=2};
 
     sys::Monitor lock;
     qpid::client::AsyncSession session;
@@ -95,7 +96,7 @@ class IncomingMessages
     FrameSetQueue received;
     AcceptTracker acceptTracker;
 
-    bool process(Handler*, qpid::sys::Duration);
+    ProcessState process(Handler*, qpid::sys::Duration);
     bool wait(qpid::sys::Duration);
     bool pop(FrameSetPtr&, qpid::sys::Duration);
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/windows/SslConnector.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/windows/SslConnector.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/windows/SslConnector.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/client/windows/SslConnector.cpp
 Tue Feb 10 16:15:08 2015
@@ -115,7 +115,9 @@ SslConnector::SslConnector(boost::shared
                            ConnectionImpl* cimpl)
     : TCPConnector(p, ver, settings, cimpl), shim(0), poller(p)
 {
-
+    if (settings.sslIgnoreHostnameVerificationFailure) {
+        sslCredential.ignoreHostnameVerificationFailure();
+    }
     const std::string& name = (settings.sslCertName != "") ?
         settings.sslCertName : qpid::sys::ssl::SslOptions::global.certName;
     certLoaded = sslCredential.load(name);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp
 Tue Feb 10 16:15:08 2015
@@ -39,6 +39,7 @@
 #include "qpid/sys/SecurityLayer.h"
 #include "qpid/sys/SystemInfo.h"
 #include "qpid/sys/Time.h"
+#include "qpid/sys/Timer.h"
 #include "qpid/sys/urlAdd.h"
 #include "config.h"
 #include <boost/lexical_cast.hpp>
@@ -95,6 +96,27 @@ std::string get_error(pn_connection_t* c
 }
 #endif
 
+class ConnectionTickerTask : public qpid::sys::TimerTask
+{
+    qpid::sys::Timer& timer;
+    ConnectionContext& connection;
+  public:
+    ConnectionTickerTask(const qpid::sys::Duration& interval, 
qpid::sys::Timer& t, ConnectionContext& c) :
+        TimerTask(interval, "ConnectionTicker"),
+        timer(t),
+        connection(c)
+    {}
+
+    void fire() {
+        QPID_LOG(debug, "ConnectionTickerTask fired");
+        // Setup next firing
+        setupNextFire();
+        timer.add(this);
+
+        // Send Ticker
+        connection.activateOutput();
+    }
+};
 }
 
 void ConnectionContext::trace(const char* message) const
@@ -118,23 +140,15 @@ ConnectionContext::ConnectionContext(con
     // Concatenate all known URLs into a single URL, get rid of duplicate 
addresses.
     sys::urlAddStrings(fullUrl, urls.begin(), urls.end(), protocol.empty() ?
                        qpid::Address::TCP : protocol);
-    if (pn_transport_bind(engine, connection)) {
-        //error
-    }
     if (identifier.empty()) {
         identifier = qpid::types::Uuid(true).str();
     }
-    pn_connection_set_container(connection, identifier.c_str());
-    bool enableTrace(false);
-    QPID_LOG_TEST_CAT(trace, protocol, enableTrace);
-    if (enableTrace) {
-        pn_transport_trace(engine, PN_TRACE_FRM);
-        set_tracer(engine, this);
-    }
+    configureConnection();
 }
 
 ConnectionContext::~ConnectionContext()
 {
+    if (ticker) ticker->cancel();
     close();
     sessions.clear();
     pn_transport_free(engine);
@@ -218,6 +232,10 @@ void ConnectionContext::close()
             lock.wait();
         }
     }
+    if (ticker) {
+        ticker->cancel();
+        ticker.reset();
+    }
 }
 
 bool ConnectionContext::fetch(boost::shared_ptr<SessionContext> ssn, 
boost::shared_ptr<ReceiverContext> lnk, qpid::messaging::Message& message, 
qpid::messaging::Duration timeout)
@@ -498,7 +516,7 @@ uint32_t ConnectionContext::getUnsettled
 void ConnectionContext::activateOutput()
 {
     qpid::sys::ScopedLock<qpid::sys::Monitor> l(lock);
-    wakeupDriver();
+    if (state == CONNECTED) wakeupDriver();
 }
 /**
  * Expects lock to be held by caller
@@ -530,14 +548,11 @@ void ConnectionContext::reset()
 
     engine = pn_transport();
     connection = pn_connection();
-    pn_connection_set_container(connection, identifier.c_str());
-    bool enableTrace(false);
-    QPID_LOG_TEST_CAT(trace, protocol, enableTrace);
-    if (enableTrace) pn_transport_trace(engine, PN_TRACE_FRM);
+    configureConnection();
+
     for (SessionMap::iterator i = sessions.begin(); i != sessions.end(); ++i) {
         i->second->reset(connection);
     }
-    pn_transport_bind(engine, connection);
 }
 
 void ConnectionContext::check() {
@@ -758,16 +773,31 @@ std::size_t ConnectionContext::decodePla
     //TODO: Fix pn_engine_input() to take const buffer
     ssize_t n = pn_transport_input(engine, const_cast<char*>(buffer), size);
     if (n > 0 || n == PN_EOS) {
-        //If engine returns EOS, have no way of knowing how many bytes
-        //it processed, but can assume none need to be reprocessed so
-        //consider them all read:
-        if (n == PN_EOS) n = size;
+        // PN_EOS either means we received a Close (which also means we've
+        // consumed all the input), OR some Very Bad Thing happened and this
+        // connection is toast.
+        if (n == PN_EOS)
+        {
+            std::string error;
+            if (checkTransportError(error)) {
+                // "He's dead, Jim."
+                QPID_LOG_CAT(error, network, id << " connection failed: " << 
error);
+                transport->abort();
+                return 0;
+            } else {
+                n = size;   // assume all consumed
+            }
+        }
         QPID_LOG_CAT(debug, network, id << " decoded " << n << " bytes from " 
<< size)
-        pn_transport_tick(engine, 0);
+        pn_transport_tick(engine, qpid::sys::Duration::FromEpoch() / 
qpid::sys::TIME_MSEC);
         lock.notifyAll();
         return n;
     } else if (n == PN_ERR) {
-        throw MessagingException(QPID_MSG("Error on input: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        transport->abort();
+        return 0;
     } else {
         return 0;
     }
@@ -792,10 +822,20 @@ std::size_t ConnectionContext::encodePla
         if (notifyOnWrite) lock.notifyAll();
         return n;
     } else if (n == PN_ERR) {
-        throw MessagingException(QPID_MSG("Error on output: " << getError()));
+        std::string error;
+        checkTransportError(error);
+        QPID_LOG_CAT(error, network, id << " connection error: " << error);
+        transport->abort();
+        return 0;
     } else if (n == PN_EOS) {
         haveOutput = false;
-        return 0;//Is this right?
+        // Normal close, or error?
+        std::string error;
+        if (checkTransportError(error)) {
+            QPID_LOG_CAT(error, network, id << " connection failed: " << 
error);
+            transport->abort();
+        }
+        return 0;
     } else {
         haveOutput = false;
         return 0;
@@ -804,6 +844,7 @@ std::size_t ConnectionContext::encodePla
 bool ConnectionContext::canEncodePlain()
 {
     qpid::sys::ScopedLock<qpid::sys::Monitor> l(lock);
+    pn_transport_tick(engine, qpid::sys::Duration::FromEpoch() / 
qpid::sys::TIME_MSEC);
     return haveOutput && state == CONNECTED;
 }
 void ConnectionContext::closed()
@@ -1061,7 +1102,6 @@ bool ConnectionContext::tryOpenAddr(cons
     }
 
     QPID_LOG(debug, id << " Opening...");
-    setProperties();
     pn_connection_open(connection);
     wakeupDriver(); //want to write
     while ((pn_connection_state(connection) & PN_REMOTE_UNINIT) &&
@@ -1071,6 +1111,25 @@ bool ConnectionContext::tryOpenAddr(cons
     if (!(pn_connection_state(connection) & PN_REMOTE_ACTIVE)) {
         throw qpid::messaging::ConnectionError("Failed to open connection");
     }
+
+    // Connection open - check for idle timeout from the remote and start a
+    // periodic tick to monitor for idle connections
+    pn_timestamp_t remote = pn_transport_get_remote_idle_timeout(engine);
+    pn_timestamp_t local = pn_transport_get_idle_timeout(engine);
+    uint64_t shortest = ((remote && local)
+                         ? std::min(remote, local)
+                         : (remote) ? remote : local);
+    if (shortest) {
+        // send an idle frame at least twice before timeout
+        shortest = (shortest + 1)/2;
+        qpid::sys::Duration d(shortest * qpid::sys::TIME_MSEC);
+        ticker = boost::intrusive_ptr<qpid::sys::TimerTask>(new 
ConnectionTickerTask(d, driver->getTimer(), *this));
+        driver->getTimer().add(ticker);
+        QPID_LOG(debug, id << " AMQP 1.0 idle-timeout set:"
+                 << " local=" << pn_transport_get_idle_timeout(engine)
+                 << " remote=" << 
pn_transport_get_remote_idle_timeout(engine));
+    }
+
     QPID_LOG(debug, id << " Opened");
 
     return restartSessions();
@@ -1151,4 +1210,44 @@ bool ConnectionContext::CodecAdapter::ca
 }
 
 
+// setup the transport and connection objects:
+void ConnectionContext::configureConnection()
+{
+    pn_connection_set_container(connection, identifier.c_str());
+    setProperties();
+    if (heartbeat) {
+        // fail an idle connection at 2 x heartbeat (in msecs)
+        pn_transport_set_idle_timeout(engine, heartbeat*2*1000);
+    }
+
+    bool enableTrace(false);
+    QPID_LOG_TEST_CAT(trace, protocol, enableTrace);
+    if (enableTrace) {
+        pn_transport_trace(engine, PN_TRACE_FRM);
+        set_tracer(engine, this);
+    }
+
+    int err = pn_transport_bind(engine, connection);
+    if (err)
+        QPID_LOG(error, id << " Error binding connection and transport: " << 
err);
+}
+
+
+// check for failures of the transport:
+bool ConnectionContext::checkTransportError(std::string& text)
+{
+    std::stringstream info;
+
+#ifdef USE_PROTON_TRANSPORT_CONDITION
+    pn_condition_t* tcondition = pn_transport_condition(engine);
+    if (pn_condition_is_set(tcondition))
+        info << "transport error: " << pn_condition_get_name(tcondition) << ", 
" << pn_condition_get_description(tcondition);
+#else
+    pn_error_t* terror = pn_transport_error(engine);
+    if (terror) info << "transport error " << pn_error_text(terror) << " [" << 
terror << "]";
+#endif
+
+    text = info.str();
+    return !text.empty();
+}
 }}} // namespace qpid::messaging::amqp

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h
 Tue Feb 10 16:15:08 2015
@@ -25,6 +25,7 @@
 #include <map>
 #include <memory>
 #include <string>
+#include <boost/intrusive_ptr.hpp>
 #include <boost/shared_ptr.hpp>
 #include "qpid/Url.h"
 #include "qpid/messaging/ConnectionOptions.h"
@@ -47,6 +48,7 @@ class ProtocolVersion;
 namespace sys {
 class SecurityLayer;
 struct SecuritySettings;
+class TimerTask;
 }
 namespace messaging {
 class Duration;
@@ -120,7 +122,7 @@ class ConnectionContext : public qpid::s
     void initSecurityLayer(qpid::sys::SecurityLayer&);
     void trace(const char*) const;
 
-  private:
+ private:
     typedef std::map<std::string, boost::shared_ptr<SessionContext> > 
SessionMap;
     class CodecAdapter : public qpid::sys::Codec
     {
@@ -155,6 +157,7 @@ class ConnectionContext : public qpid::s
     std::auto_ptr<Sasl> sasl;
     CodecAdapter codecAdapter;
     bool notifyOnWrite;
+    boost::intrusive_ptr<qpid::sys::TimerTask> ticker;
 
     void check();
     bool checkDisconnected();
@@ -191,6 +194,8 @@ class ConnectionContext : public qpid::s
     std::string getError();
     bool useSasl();
     void setProperties();
+    void configureConnection();
+    bool checkTransportError(std::string&);
 };
 
 }}} // namespace qpid::messaging::amqp

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp
 Tue Feb 10 16:15:08 2015
@@ -22,13 +22,14 @@
 #include "Transport.h"
 #include "qpid/messaging/exceptions.h"
 #include "qpid/sys/Poller.h"
+#include "qpid/sys/Timer.h"
 #include "qpid/log/Statement.h"
 
 namespace qpid {
 namespace messaging {
 namespace amqp {
 
-DriverImpl::DriverImpl() : poller(new qpid::sys::Poller)
+DriverImpl::DriverImpl() : poller(new qpid::sys::Poller), timer(new 
qpid::sys::Timer)
 {
     start();
 }
@@ -48,6 +49,7 @@ void DriverImpl::stop()
     QPID_LOG(debug, "Driver stopped");
     poller->shutdown();
     thread.join();
+    timer->stop();
 }
 
 boost::shared_ptr<Transport> DriverImpl::getTransport(const std::string& 
protocol, TransportContext& connection)

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.h
 Tue Feb 10 16:15:08 2015
@@ -29,6 +29,7 @@
 namespace qpid {
 namespace sys {
 class Poller;
+class Timer;
 }
 namespace messaging {
 namespace amqp {
@@ -47,11 +48,14 @@ class DriverImpl
     void stop();
 
     boost::shared_ptr<Transport> getTransport(const std::string& protocol, 
TransportContext& connection);
+    sys::Timer& getTimer() { return *timer; }
 
     static boost::shared_ptr<DriverImpl> getDefault();
   private:
     boost::shared_ptr<qpid::sys::Poller> poller;
     qpid::sys::Thread thread;
+    std::auto_ptr<sys::Timer> timer;
+
     static qpid::sys::Mutex defaultLock;
     static boost::weak_ptr<DriverImpl> theDefault;
 };

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/Transport.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/Transport.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/Transport.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/Transport.h
 Tue Feb 10 16:15:08 2015
@@ -40,6 +40,7 @@ class Transport : public qpid::sys::Outp
     virtual ~Transport() {}
     virtual void connect(const std::string& host, const std::string& port) = 0;
     virtual void close() = 0;
+    virtual void abort() = 0;
     virtual const qpid::sys::SecuritySettings* getSecuritySettings() = 0;
 
     typedef Transport* Factory(TransportContext&, 
boost::shared_ptr<qpid::sys::Poller>);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/windows/SslTransport.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/windows/SslTransport.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/windows/SslTransport.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/messaging/amqp/windows/SslTransport.cpp
 Tue Feb 10 16:15:08 2015
@@ -94,6 +94,9 @@ void SslTransport::negotiationDone(SECUR
 SslTransport::SslTransport(TransportContext& c, boost::shared_ptr<Poller> p) : 
TcpTransport(c, p)
 {
     const ConnectionOptions* options = context.getOptions();
+    if (options->sslIgnoreHostnameVerificationFailure) {
+        sslCredential.ignoreHostnameVerificationFailure();
+    }
     const std::string& name = (options->sslCertName != "") ?
         options->sslCertName : qpid::sys::ssl::SslOptions::global.certName;
     certLoaded = sslCredential.load(name);

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/store/MessageStorePlugin.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/store/MessageStorePlugin.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/store/MessageStorePlugin.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/store/MessageStorePlugin.h
 Tue Feb 10 16:15:08 2015
@@ -267,7 +267,7 @@ class MessageStorePlugin :
     };
     StoreOptions options;
 
-    typedef std::map<const std::string, StorageProvider*> ProviderMap;
+    typedef std::map<std::string, StorageProvider*> ProviderMap;
     ProviderMap providers;
     ProviderMap::const_iterator provider;
 

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp 
Tue Feb 10 16:15:08 2015
@@ -40,5 +40,5 @@ void uuid_generate (uint8_t out[qpid::sy
     out[7] = (uuid.time_hi_and_version & 0x00ff);
     out[8] = uuid.clock_seq_hi_and_reserved;
     out[9] = uuid.clock_seq_low;
-    ::memcpy(&out[10], &uuid.node, _UUID_NODE_LEN);
+    ::memcpy(&out[10], &uuid.node, sizeof(uuid.node));
 }

Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/Thread.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/Thread.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/Thread.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/Thread.h Tue 
Feb 10 16:15:08 2015
@@ -34,6 +34,8 @@
 #  define QPID_TSS __thread
 #elif defined (__SUNPRO_CC)
 #  define QPID_TSS __thread
+#elif defined (__IBMCPP__)
+#  define QPID_TSS __thread
 #else
 #  error "Dont know how to define QPID_TSS for this platform"
 #endif

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 
Tue Feb 10 16:15:08 2015
@@ -93,7 +93,7 @@ private:
 AsynchAcceptor::AsynchAcceptor(const Socket& s,
                                AsynchAcceptor::Callback callback) :
     acceptedCallback(callback),
-    handle(s, boost::bind(&AsynchAcceptor::readable, this, _1), 0, 0),
+    handle((const IOHandle&)s, boost::bind(&AsynchAcceptor::readable, this, 
_1), 0, 0),
     socket(s) {
 
     s.setNonblocking();
@@ -167,7 +167,7 @@ AsynchConnector::AsynchConnector(const S
                                  const std::string& port,
                                  ConnectedCallback connCb,
                                  FailedCallback failCb) :
-    DispatchHandle(s,
+    DispatchHandle((const IOHandle&)s,
                    0,
                    boost::bind(&AsynchConnector::connComplete, this, _1),
                    boost::bind(&AsynchConnector::connComplete, this, _1)),
@@ -308,7 +308,7 @@ AsynchIO::AsynchIO(const Socket& s,
                    ReadCallback rCb, EofCallback eofCb, DisconnectCallback 
disCb,
                    ClosedCallback cCb, BuffersEmptyCallback eCb, IdleCallback 
iCb) :
 
-    DispatchHandle(s, 
+    DispatchHandle((const IOHandle&)s,
                    boost::bind(&AsynchIO::readable, this, _1),
                    boost::bind(&AsynchIO::writeable, this, _1),
                    boost::bind(&AsynchIO::disconnected, this, _1)),

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Thread.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Thread.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Thread.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Thread.cpp 
Tue Feb 10 16:15:08 2015
@@ -59,7 +59,7 @@ Thread::operator bool() {
 }
 
 bool Thread::operator==(const Thread& t) const {
-    return ::pthread_equal(impl->thread, t.impl->thread) != 0;
+    return pthread_equal(impl->thread, t.impl->thread) != 0;
 }
 
 bool Thread::operator!=(const Thread& t) const {

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Time.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Time.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Time.cpp 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/posix/Time.cpp 
Tue Feb 10 16:15:08 2015
@@ -24,6 +24,7 @@
 #include "qpid/sys/Time.h"
 #include <ostream>
 #include <istream>
+#include <sstream>
 #include <time.h>
 #include <stdio.h>
 #include <sys/time.h>
@@ -106,13 +107,14 @@ std::istream& operator>>(std::istream& i
     if (i.eof() || std::isspace(i.peek())) // No suffix
         d = int64_t(number*TIME_SEC);
     else {
-        std::string suffix;
-        i >> suffix;
+        std::stringbuf suffix;
+        i >> &suffix;
         if (i.fail()) return i;
-        if (suffix.compare("s") == 0) d = int64_t(number*TIME_SEC);
-        else if (suffix.compare("ms") == 0) d = int64_t(number*TIME_MSEC);
-        else if (suffix.compare("us") == 0) d = int64_t(number*TIME_USEC);
-        else if (suffix.compare("ns") == 0) d = int64_t(number*TIME_NSEC);
+       std::string suffix_str = suffix.str();
+        if (suffix_str.compare("s") == 0) d = int64_t(number*TIME_SEC);
+        else if (suffix_str.compare("ms") == 0) d = int64_t(number*TIME_MSEC);
+        else if (suffix_str.compare("us") == 0) d = int64_t(number*TIME_USEC);
+        else if (suffix_str.compare("ns") == 0) d = int64_t(number*TIME_NSEC);
         else i.setstate(std::ios::failbit);
     }
     return i;

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/unordered_map.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/unordered_map.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/unordered_map.h 
(original)
+++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/unordered_map.h 
Tue Feb 10 16:15:08 2015
@@ -23,7 +23,7 @@
 
 #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
 #  include <unordered_map>
-#elif defined(__SUNPRO_CC)
+#elif defined(__SUNPRO_CC) || defined(__IBMCPP__)
 #  include <boost/tr1/unordered_map.hpp>
 #else
 #  include <tr1/unordered_map>

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.cpp
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.cpp
 Tue Feb 10 16:15:08 2015
@@ -34,7 +34,7 @@ namespace sys {
 namespace windows {
 
 
-SslCredential::SslCredential() : certStore(0), cert(0)
+SslCredential::SslCredential() : certStore(0), cert(0), 
hostnameVerification(true)
 {
     SecInvalidateHandle(&credHandle);
     memset(&cred, 0, sizeof(cred));
@@ -60,6 +60,8 @@ bool SslCredential::load(const std::stri
         cred.paCred = &cert;
         cred.cCreds = 1;
     }
+    if (!hostnameVerification)
+        cred.dwFlags |= SCH_CRED_NO_SERVERNAME_CHECK;
 
     SECURITY_STATUS status = ::AcquireCredentialsHandle(NULL,
                                                         UNISP_NAME,
@@ -89,6 +91,10 @@ std::string SslCredential::error()
     return loadError.error;
 }
 
+void SslCredential::ignoreHostnameVerificationFailure(){
+    hostnameVerification = false;
+}
+
 void SslCredential::loadPrivCertStore()
 {
     //  Get a handle to the system store or pkcs#12 file

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.h
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.h?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.h
 (original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/SslCredential.h
 Tue Feb 10 16:15:08 2015
@@ -53,6 +53,8 @@ public:
     QPID_COMMON_EXTERN bool load(const std::string& certName);
     QPID_COMMON_EXTERN CredHandle handle();
     QPID_COMMON_EXTERN std::string error();
+    /** Proceed with connect inspite of hostname verifcation failures*/
+    QPID_COMMON_EXTERN void ignoreHostnameVerificationFailure();
 
 private:
     struct SavedError {
@@ -70,6 +72,7 @@ private:
     CredHandle credHandle;
     TimeStamp credExpiry;
     SavedError loadError;
+    bool hostnameVerification;
 
     PCCERT_CONTEXT findCertificate(const std::string& name);
     void loadPrivCertStore();

Modified: 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/Thread.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/Thread.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff
==============================================================================
--- 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/Thread.cpp 
(original)
+++ 
qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/sys/windows/Thread.cpp 
Tue Feb 10 16:15:08 2015
@@ -224,7 +224,7 @@ Thread::Thread(Runnable* runnable) : imp
 Thread::Thread(Runnable& runnable) : 
impl(ThreadPrivate::createThread(&runnable)) {}
 
 Thread::operator bool() {
-    return impl;
+    return !!impl;
 }
 
 bool Thread::operator==(const Thread& t) const {



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

Reply via email to