You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2011/06/21 21:58:07 UTC

svn commit: r1138153 [1/6] - in /qpid/branches/qpid-3079/qpid: ./ cpp/ cpp/bindings/qmf/python/ cpp/bindings/qmf/ruby/ cpp/bindings/qmf2/python/ cpp/bindings/qmf2/ruby/ cpp/bindings/qpid/dotnet/src/ cpp/bindings/qpid/python/ cpp/bindings/qpid/ruby/ cpp...

Author: kgiusti
Date: Tue Jun 21 19:58:01 2011
New Revision: 1138153

URL: http://svn.apache.org/viewvc?rev=1138153&view=rev
Log:
QPID-3079: merge latest trunk

Added:
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTest.java
      - copied unchanged from r1137990, qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTest.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/UsernamePrincipalTest.java
      - copied unchanged from r1137990, qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/UsernamePrincipalTest.java
    qpid/branches/qpid-3079/qpid/java/client/src/test/java/org/apache/qpid/client/security/
      - copied from r1137990, qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/client/security/
    qpid/branches/qpid-3079/qpid/java/client/src/test/java/org/apache/qpid/client/security/UsernameHashedPasswordCallbackHandlerTest.java
      - copied unchanged from r1137990, qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/client/security/UsernameHashedPasswordCallbackHandlerTest.java
    qpid/branches/qpid-3079/qpid/java/client/src/test/java/org/apache/qpid/client/security/UsernamePasswordCallbackHandlerTest.java
      - copied unchanged from r1137990, qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/client/security/UsernamePasswordCallbackHandlerTest.java
Removed:
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/RateTracker.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/RateTracker.h
    qpid/branches/qpid-3079/qpid/doc/website/build.sh
    qpid/branches/qpid-3079/qpid/doc/website/content/
    qpid/branches/qpid-3079/qpid/doc/website/example/
    qpid/branches/qpid-3079/qpid/doc/website/template/
    qpid/branches/qpid-3079/qpid/doc/website/tools/
Modified:
    qpid/branches/qpid-3079/qpid/   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/python/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/ruby/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/python/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/ruby/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.cpp
    qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.h
    qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/python/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/ruby/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/configure.ac
    qpid/branches/qpid-3079/qpid/cpp/docs/api/   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/examples/messaging/drain.cpp
    qpid/branches/qpid-3079/qpid/cpp/examples/messaging/spout.cpp
    qpid/branches/qpid-3079/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/include/qmf/engine/Agent.h   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/include/qmf/engine/Console.h   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/include/qpid/framing/FieldTable.h
    qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Connection.h
    qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Message.h
    qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Session.h
    qpid/branches/qpid-3079/qpid/cpp/managementgen/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt   (contents, props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/Makefile.am
    qpid/branches/qpid-3079/qpid/cpp/src/qmf/ConsoleSession.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/Agent.cpp   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/ResilientConnection.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionState.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Daemon.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/HeadersExchange.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Link.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Queue.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Queue.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/QueueCleaner.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/QueueCleaner.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/QueuePolicy.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/QueuePolicy.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/SemanticState.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/ConnectionImpl.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/Connector.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/RdmaConnector.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/SslConnector.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/TCPConnector.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/TCPConnector.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/ConnectionImpl.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/client/windows/SslConnector.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/Cluster.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/Cluster.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/ClusterSettings.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/Connection.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/Connection.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/ExpiryPolicy.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/ExpiryPolicy.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/FailoverExchange.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/FailoverExchange.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/UpdateClient.cpp   (contents, props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/UpdateClient.h   (contents, props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/cluster/UpdateExchange.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/console/SessionManager.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/framing/AMQHeaderBody.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/management/ManagementAgent.cpp   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/management/ManagementAgent.h   (props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/messaging/Session.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/messaging/SessionImpl.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/AsynchIO.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/AtomicValue_gcc.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/ProtocolFactory.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/Socket.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/SocketAddress.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/SslPlugin.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/Timer.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/Timer.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/posix/LockFile.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/posix/Socket.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/ssl/SslIo.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/ssl/SslSocket.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/ssl/SslSocket.h
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/windows/Socket.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/qpid/sys/windows/SocketAddress.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/BrokerMgmtAgent.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/ClientSessionTest.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/ForkedBroker.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/MessagingSessionTests.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/QueueTest.cpp
    qpid/branches/qpid-3079/qpid/cpp/src/tests/SocketProxy.h
    qpid/branches/qpid-3079/qpid/cpp/src/tests/brokertest.py
    qpid/branches/qpid-3079/qpid/cpp/src/tests/cluster_test_logs.py
    qpid/branches/qpid-3079/qpid/cpp/src/tests/cluster_tests.py   (contents, props changed)
    qpid/branches/qpid-3079/qpid/cpp/src/tests/federation.py
    qpid/branches/qpid-3079/qpid/cpp/xml/cluster.xml
    qpid/branches/qpid-3079/qpid/doc/book/build-book.sh
    qpid/branches/qpid-3079/qpid/doc/website/README.txt
    qpid/branches/qpid-3079/qpid/dotnet/build-msbuild.bat   (props changed)
    qpid/branches/qpid-3079/qpid/dotnet/build-nant-release   (props changed)
    qpid/branches/qpid-3079/qpid/dotnet/build-nant.bat   (props changed)
    qpid/branches/qpid-3079/qpid/java/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/AppInfo.java
    qpid/branches/qpid-3079/qpid/java/broker-plugins/firewall/src/test/java/org/apache/qpid/server/security/access/FirewallConfigurationTest.java
    qpid/branches/qpid-3079/qpid/java/broker/bin/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker/etc/config.xml
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionSecureOkMethodHandler.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionStartOkMethodHandler.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/management/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntry.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleQueueEntryList.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/ConfigurationFilePrincipalDatabaseManager.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManager.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticator.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/UsernamePrincipal.java
    qpid/branches/qpid-3079/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/   (props changed)
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/MockQueueEntry.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryListTest.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java
    qpid/branches/qpid-3079/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticatorTest.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/security/AMQCallbackHandler.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/security/UsernameHashedPasswordCallbackHandler.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/client/security/UsernamePasswordCallbackHandler.java
    qpid/branches/qpid-3079/qpid/java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java
    qpid/branches/qpid-3079/qpid/java/client/src/test/java/org/apache/qpid/client/MockAMQConnection.java
    qpid/branches/qpid-3079/qpid/java/common/src/main/java/org/apache/qpid/AMQChannelException.java
    qpid/branches/qpid-3079/qpid/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java
    qpid/branches/qpid-3079/qpid/java/common/src/main/java/org/apache/qpid/AMQException.java
    qpid/branches/qpid-3079/qpid/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java
    qpid/branches/qpid-3079/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
    qpid/branches/qpid-3079/qpid/java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java
    qpid/branches/qpid-3079/qpid/java/common/src/test/java/org/apache/qpid/framing/AMQShortStringTest.java
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc   (props changed)
    qpid/branches/qpid-3079/qpid/java/systests/etc/config-systests-ServerConfigurationTest-New.xml
    qpid/branches/qpid-3079/qpid/java/systests/etc/config-systests-ServerConfigurationTest-Old.xml
    qpid/branches/qpid-3079/qpid/java/systests/etc/config-systests-firewall-2.xml
    qpid/branches/qpid-3079/qpid/java/systests/etc/config-systests-firewall-3.xml
    qpid/branches/qpid-3079/qpid/java/systests/src/main/java/org/apache/qpid/client/MultipleJCAProviderRegistrationTest.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/systests/src/main/java/org/apache/qpid/test/client/message/SelectorTest.java
    qpid/branches/qpid-3079/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/08StandaloneExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/CPPExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/Excludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/JavaExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/JavaStandaloneExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/JavaTransientExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/XAExcludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/clean-dir   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.async.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.cluster.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.noprefetch.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.ssl.excludes   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.ssl.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/cpp.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/default.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/java-derby.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/java.testprofile   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/log4j-test.xml   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/test-provider.properties   (props changed)
    qpid/branches/qpid-3079/qpid/java/test-profiles/test_resources/   (props changed)
    qpid/branches/qpid-3079/qpid/java/tools/src/main/java/org/apache/qpid/tools/TestParams.java
    qpid/branches/qpid-3079/qpid/packaging/windows/   (props changed)
    qpid/branches/qpid-3079/qpid/python/   (props changed)
    qpid/branches/qpid-3079/qpid/python/examples/api/spout   (props changed)
    qpid/branches/qpid-3079/qpid/python/qpid/concurrency.py   (props changed)
    qpid/branches/qpid-3079/qpid/python/qpid/messaging/driver.py
    qpid/branches/qpid-3079/qpid/ruby/ext/sasl/extconf.rb   (props changed)
    qpid/branches/qpid-3079/qpid/specs/management-schema.xml
    qpid/branches/qpid-3079/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py   (props changed)
    qpid/branches/qpid-3079/qpid/tools/src/py/qpid-cluster
    qpid/branches/qpid-3079/qpid/tools/src/py/qpid-config

Propchange: qpid/branches/qpid-3079/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -3,3 +3,4 @@
 /qpid/branches/0.6-release-windows-installer/qpid:926803,927233
 /qpid/branches/java-network-refactor/qpid:805429-825319
 /qpid/branches/qpid-2935/qpid:1061302-1072333
+/qpid/trunk/qpid:1104663-1137990

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/python/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/python/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/python/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/python/Makefile.am Tue Jun 21 19:58:01 2011
@@ -30,11 +30,13 @@ BUILT_SOURCES = $(generated_file_list)
 SWIG_FLAGS = -w362,401
 
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmfengine.i
-	swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o qmfengine.cpp $(srcdir)/python.i
+	$(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o qmfengine.cpp $(srcdir)/python.i
 
 pylibdir = $(PYTHON_LIB)
 
 lib_LTLIBRARIES = _qmfengine.la
+qenginedir = $(pyexecdir)
+qengine_PYTHON = qmfengine.py qmf.py
 
 #_qmfengine_la_LDFLAGS = -avoid-version -module -shrext "$(PYTHON_SO)"
 #_qmfengine_la_LDFLAGS = -avoid-version -module -shrext ".so"

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/ruby/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/ruby/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/ruby/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qmf/ruby/Makefile.am Tue Jun 21 19:58:01 2011
@@ -35,7 +35,7 @@ qmfengine.cpp: $(srcdir)/ruby.i $(srcdir
 rubylibarchdir = $(RUBY_LIB_ARCH)
 rubylibarch_LTLIBRARIES = qmfengine.la
 
-qmfengine_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)"
+qmfengine_la_LDFLAGS = -avoid-version -module -shared -shrext ".$(RUBY_DLEXT)"
 qmfengine_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqpidclient $(top_builddir)/src/libqmfengine.la
 qmfengine_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing
 nodist_qmfengine_la_SOURCES = qmfengine.cpp

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/python/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/python/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/python/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/python/Makefile.am Tue Jun 21 19:58:01 2011
@@ -30,12 +30,12 @@ BUILT_SOURCES = $(generated_file_list)
 SWIG_FLAGS = -w362,401
 
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmf2.i $(srcdir)/../../swig_python_typemaps.i
-	swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/python.i
+	$(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/python.i
 
 pylibdir = $(PYTHON_LIB)
 
 lib_LTLIBRARIES = _cqmf2.la
-cqpiddir = $(pythondir)
+cqpiddir = $(pyexecdir)
 cqpid_PYTHON = qmf2.py cqmf2.py
 
 _cqmf2_la_LDFLAGS = -avoid-version -module -shared

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/ruby/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/ruby/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/ruby/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qmf2/ruby/Makefile.am Tue Jun 21 19:58:01 2011
@@ -34,7 +34,7 @@ rubylibarchdir = $(RUBY_LIB_ARCH)
 rubylibarch_LTLIBRARIES = cqmf2.la
 dist_rubylib_DATA = qmf2.rb
 
-cqmf2_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)"
+cqmf2_la_LDFLAGS = -avoid-version -module -shared -shrext ".$(RUBY_DLEXT)"
 cqmf2_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqmf2 $(top_builddir)/src/libqmf2.la
 cqmf2_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing
 nodist_cqmf2_la_SOURCES = cqmf2.cpp

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.cpp Tue Jun 21 19:58:01 2011
@@ -248,6 +248,31 @@ namespace Messaging {
 		}
     }
 
+    void Session::AcknowledgeUpTo(Message ^ message)
+    {
+        AcknowledgeUpTo(message, false);
+    }
+
+    void Session::AcknowledgeUpTo(Message ^ message, bool sync)
+    {
+        System::Exception ^ newException = nullptr;
+
+        try 
+		{
+            sessionp->acknowledgeUpTo(*(message->NativeMessage), sync);
+        } 
+        catch (const ::qpid::types::Exception & error) 
+		{
+            String ^ errmsg = gcnew String(error.what());
+            newException    = gcnew QpidException(errmsg);
+        }
+
+		if (newException != nullptr) 
+		{
+	        throw newException;
+		}
+    }
+
     void Session::Reject(Message ^ message)
     {
         System::Exception ^ newException = nullptr;

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/dotnet/src/Session.h Tue Jun 21 19:58:01 2011
@@ -104,6 +104,8 @@ namespace Messaging {
         void Acknowledge(bool sync);
         void Acknowledge(Message ^ message);
         void Acknowledge(Message ^ message, bool sync);
+        void AcknowledgeUpTo(Message ^ message);
+        void AcknowledgeUpTo(Message ^ message, bool sync);
         void Reject(Message ^);
         void Release(Message ^);
         void Sync();

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/python/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/python/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/python/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/python/Makefile.am Tue Jun 21 19:58:01 2011
@@ -30,12 +30,12 @@ BUILT_SOURCES = $(generated_file_list)
 SWIG_FLAGS = -w362,401
 
 $(generated_file_list): $(srcdir)/python.i $(srcdir)/../qpid.i $(srcdir)/../../swig_python_typemaps.i
-	swig -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o cqpid.cpp $(srcdir)/python.i
+	$(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o cqpid.cpp $(srcdir)/python.i
 
 pylibdir = $(PYTHON_LIB)
 
 lib_LTLIBRARIES = _cqpid.la
-cqpiddir = $(pythondir)
+cqpiddir = $(pyexecdir)
 cqpid_PYTHON = cqpid.py
 
 _cqpid_la_LDFLAGS = -avoid-version -module -shared

Modified: qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/ruby/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/ruby/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/ruby/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/bindings/qpid/ruby/Makefile.am Tue Jun 21 19:58:01 2011
@@ -33,7 +33,7 @@ cqpid.cpp: $(srcdir)/ruby.i $(srcdir)/..
 rubylibarchdir = $(RUBY_LIB_ARCH)
 rubylibarch_LTLIBRARIES = cqpid.la
 
-cqpid_la_LDFLAGS = -avoid-version -module -shrext ".$(RUBY_DLEXT)"
+cqpid_la_LDFLAGS = -avoid-version -module -shared -shrext ".$(RUBY_DLEXT)"
 cqpid_la_LIBADD = $(RUBY_LIBS) -L$(top_builddir)/src/.libs -lqpidmessaging -lqpidtypes \
 	$(top_builddir)/src/libqpidmessaging.la $(top_builddir)/src/libqpidtypes.la
 cqpid_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH) -fno-strict-aliasing

Modified: qpid/branches/qpid-3079/qpid/cpp/configure.ac
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/configure.ac?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/configure.ac (original)
+++ qpid/branches/qpid-3079/qpid/cpp/configure.ac Tue Jun 21 19:58:01 2011
@@ -68,8 +68,10 @@ if test x$GXX = xyes; then
 	# The following warnings are deliberately omitted, they warn on valid code.
 	# -Wunreachable-code -Wpadded -Winline
 	# -Wshadow - warns about boost headers.
+	# Can't test for -Werror as whether it fails or not depends on what's in
+	# CFLAGS/CXXFLAGS. In any case it's been in gcc for a long time (since 2.95 at least)
 	if test "${enableval}" = yes; then
-	    gl_COMPILER_FLAGS(-Werror)
+        COMPILER_FLAGS="-Werror"
 	    gl_COMPILER_FLAGS(-pedantic)
 	    gl_COMPILER_FLAGS(-Wall)
 	    gl_COMPILER_FLAGS(-Wextra)

Propchange: qpid/branches/qpid-3079/qpid/cpp/docs/api/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -4,3 +4,4 @@
 /qpid/branches/0.6-release-windows-installer/qpid/cpp/docs/api:926803,927233
 /qpid/branches/java-network-refactor/qpid/cpp/docs/api:805429-825319
 /qpid/branches/qpid-2935/qpid/cpp/docs/api:1061302-1072333
+/qpid/trunk/qpid/cpp/docs/api:1104663-1137990

Modified: qpid/branches/qpid-3079/qpid/cpp/examples/messaging/drain.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/examples/messaging/drain.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/examples/messaging/drain.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/examples/messaging/drain.cpp Tue Jun 21 19:58:01 2011
@@ -50,7 +50,7 @@ struct Options : OptionParser
         add("broker,b", url, "url of broker to connect to");
         add("timeout,t", timeout, "timeout in seconds to wait before exiting");
         add("forever,f", forever, "ignore timeout and wait forever");
-        add("connection-options", connectionOptions, "connection options string in the form {name1=value1, name2=value2}");
+        add("connection-options", connectionOptions, "connection options string in the form {name1:value1, name2:value2}");
         add("count,c", count, "number of messages to read before exiting");
     }
 

Modified: qpid/branches/qpid-3079/qpid/cpp/examples/messaging/spout.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/examples/messaging/spout.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/examples/messaging/spout.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/examples/messaging/spout.cpp Tue Jun 21 19:58:01 2011
@@ -65,7 +65,7 @@ struct Options : OptionParser
         add("property,P", properties, "specify message property");
         add("map,M", entries, "specify entry for map content");
         add("content", content, "specify textual content");
-        add("connection-options", connectionOptions, "connection options string in the form {name1=value1, name2=value2}");
+        add("connection-options", connectionOptions, "connection options string in the form {name1:value1, name2:value2}");
     }
 
     static bool nameval(const std::string& in, std::string& name, std::string& value)

Propchange: qpid/branches/qpid-3079/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -3,3 +3,4 @@
 /qpid/branches/0.6-release-windows-installer/qpid/cpp/examples/tradedemo/tradedemo_topic_publisher.vcproj:926803,927218,927233
 /qpid/branches/java-network-refactor/qpid/cpp/examples/tradedemo/tradedemo_topic_publisher.vcproj:805429-825319
 /qpid/branches/qpid-2935/qpid/cpp/examples/tradedemo/tradedemo_topic_publisher.vcproj:1061302-1072333
+/qpid/trunk/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj:1104663-1137990

Propchange: qpid/branches/qpid-3079/qpid/cpp/include/qmf/engine/Agent.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -1 +1,2 @@
 /qpid/branches/qpid-2935/qpid/cpp/include/qmf/engine/Agent.h:1061302-1072333
+/qpid/trunk/qpid/cpp/include/qmf/engine/Agent.h:1104663-1137990

Propchange: qpid/branches/qpid-3079/qpid/cpp/include/qmf/engine/Console.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -1 +1,2 @@
 /qpid/branches/qpid-2935/qpid/cpp/include/qmf/engine/Console.h:1061302-1072333
+/qpid/trunk/qpid/cpp/include/qmf/engine/Console.h:1104663-1137990

Modified: qpid/branches/qpid-3079/qpid/cpp/include/qpid/framing/FieldTable.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/include/qpid/framing/FieldTable.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/include/qpid/framing/FieldTable.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/include/qpid/framing/FieldTable.h Tue Jun 21 19:58:01 2011
@@ -65,6 +65,8 @@ class FieldTable
     QPID_COMMON_EXTERN void decode(Buffer& buffer);
 
     QPID_COMMON_EXTERN int count() const;
+    QPID_COMMON_EXTERN size_t size() const { return values.size(); }
+    QPID_COMMON_EXTERN bool empty() { return size() == 0; }
     QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr& value);
     QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
     QPID_COMMON_INLINE_EXTERN bool isSet(const std::string& name) const { return get(name).get() != 0; }

Modified: qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Connection.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Connection.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Connection.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Connection.h Tue Jun 21 19:58:01 2011
@@ -54,27 +54,27 @@ class QPID_MESSAGING_CLASS_EXTERN Connec
      *     username
      *     password
      *     heartbeat
-     *     tcp-nodelay
-     *     sasl-mechanism
-     *     sasl-service
-     *     sasl-min-ssf
-     *     sasl-max-ssf
+     *     tcp_nodelay
+     *     sasl_mechanisms
+     *     sasl_service
+     *     sasl_min_ssf
+     *     sasl_max_ssf
      *     transport
      * 
      * Reconnect behaviour can be controlled through the following options:
      * 
      *     reconnect: true/false (enables/disables reconnect entirely)
-     *     reconnect-timeout: number of seconds (give up and report failure after specified time)
-     *     reconnect-limit: n (give up and report failure after specified number of attempts)
-     *     reconnect-interval-min: number of seconds (initial delay between failed reconnection attempts)
-     *     reconnect-interval-max: number of seconds (maximum delay between failed reconnection attempts)
-     *     reconnect-interval: shorthand for setting the same reconnect_interval_min/max
-     *     reconnect-urls: list of alternate urls to try when connecting
+     *     reconnect_timeout: number of seconds (give up and report failure after specified time)
+     *     reconnect_limit: n (give up and report failure after specified number of attempts)
+     *     reconnect_interval_min: number of seconds (initial delay between failed reconnection attempts)
+     *     reconnect_interval_max: number of seconds (maximum delay between failed reconnection attempts)
+     *     reconnect_interval: shorthand for setting the same reconnect_interval_min/max
+     *     reconnect_urls: list of alternate urls to try when connecting
      *
-     *     The reconnect-interval is the time that the client waits
+     *     The reconnect_interval is the time that the client waits
      *     for after a failed attempt to reconnect before retrying. It
-     *     starts at the value of the min-retry-interval and is
-     *     doubled every failure until the value of max-retry-interval
+     *     starts at the value of the min_retry_interval and is
+     *     doubled every failure until the value of max_retry_interval
      *     is reached.
      */
     QPID_MESSAGING_EXTERN Connection(const std::string& url, const qpid::types::Variant::Map& options = qpid::types::Variant::Map());

Modified: qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Message.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Message.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Message.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Message.h Tue Jun 21 19:58:01 2011
@@ -55,23 +55,58 @@ class QPID_MESSAGING_CLASS_EXTERN Messag
     QPID_MESSAGING_EXTERN void setSubject(const std::string&);
     QPID_MESSAGING_EXTERN const std::string& getSubject() const;
 
+    /**
+     * Set the content type (i.e. the MIME type) for the message. This
+     * should be set by the sending application and indicates to
+     * recipients of message how to interpret or decode the content.
+     */
     QPID_MESSAGING_EXTERN void setContentType(const std::string&);
+    /**
+     * Returns the content type (i.e. the MIME type) for the
+     * message. This can be used to determine how to decode the
+     * message content.
+     */
     QPID_MESSAGING_EXTERN const std::string& getContentType() const;
 
+    /**
+     * Set an application defined identifier for the message. At
+     * present this must be a stringfied UUID (support for less
+     * restrictive IDs is anticipated however).
+     */
     QPID_MESSAGING_EXTERN void setMessageId(const std::string&);
     QPID_MESSAGING_EXTERN const std::string& getMessageId() const;
 
+    /**
+     * Sets the user id of the message. This should in general be the
+     * user-id as which the sending connection authenticated itself as
+     * the messaging infrastructure will verify this. See
+     * Connection::getAuthenticatedUsername()
+     */
     QPID_MESSAGING_EXTERN void setUserId(const std::string&);
     QPID_MESSAGING_EXTERN const std::string& getUserId() const;
 
+    /**
+     * Can be used to set application specific correlation identifiers
+     * as part of a protocol for message exchange patterns. E.g. a
+     * request-reponse pattern might require the correlation-id of the
+     * request and response to match, or might use the message-id of
+     * the request as the correlation-id on the response etc.
+     */
     QPID_MESSAGING_EXTERN void setCorrelationId(const std::string&);
     QPID_MESSAGING_EXTERN const std::string& getCorrelationId() const;
 
+    /**
+     * Sets a priority level on the message. This may be used by the
+     * messaging infrastructure to prioritise delivery of higher
+     * priority messages.
+     */
     QPID_MESSAGING_EXTERN void setPriority(uint8_t);
     QPID_MESSAGING_EXTERN uint8_t getPriority() const;
 
     /**
-     * Set the time to live for this message in milliseconds.
+     * Set the time to live for this message in milliseconds. This can
+     * be used by the messaging infrastructure to discard messages
+     * that are no longer of relevance.
      */
     QPID_MESSAGING_EXTERN void setTtl(Duration ttl);
     /**
@@ -79,24 +114,62 @@ class QPID_MESSAGING_CLASS_EXTERN Messag
      */
     QPID_MESSAGING_EXTERN Duration getTtl() const;
 
+    /**
+     * Mark the message as durable. This is a hint to the messaging
+     * infrastructure that the message should be persisted or
+     * otherwise stored such that failoures or shutdown do not cause
+     * it to be lost.
+     */
     QPID_MESSAGING_EXTERN void setDurable(bool durable);
     QPID_MESSAGING_EXTERN bool getDurable() const;
 
+    /**
+     * The redelivered flag if set implies that the message *may* have
+     * been previously delivered and thus is a hint to the application
+     * or messaging infrastructure that if de-duplication is required
+     * this message should be examined to determine if it is a
+     * duplicate.
+     */
     QPID_MESSAGING_EXTERN bool getRedelivered() const;
+    /**
+     * Can be used to provide a hint to the application or messaging
+     * infrastructure that if de-duplication is required this message
+     * should be examined to determine if it is a duplicate.
+     */
     QPID_MESSAGING_EXTERN void setRedelivered(bool);
 
+    /**
+     * In addition to a payload (i.e. the content), messages can
+     * include annotations describing aspectf of the message. In
+     * addition to the standard annotations such as TTL and content
+     * type, application- or context- specific properties can also be
+     * defined. Each message has a map of name values for such custom
+     * properties. The value is specified as a Variant.
+     */
     QPID_MESSAGING_EXTERN const qpid::types::Variant::Map& getProperties() const;
     QPID_MESSAGING_EXTERN qpid::types::Variant::Map& getProperties();
 
+    /**
+     * Set the content to the data held in the string parameter. Note:
+     * this is treated as raw bytes and need not be text. Consider
+     * setting the content-type to indicate how the data should be
+     * interpreted by recipients.
+     */
     QPID_MESSAGING_EXTERN void setContent(const std::string&);
     /**
-     * Note that chars are copied.
+     * Copy count bytes from the region pointed to by chars as the
+     * message content.
      */
     QPID_MESSAGING_EXTERN void setContent(const char* chars, size_t count);
 
     /** Get the content as a std::string */
     QPID_MESSAGING_EXTERN std::string getContent() const;
-    /** Get a const pointer to the start of the content data. */
+    /**
+     * Get a const pointer to the start of the content data. The
+     * memory pointed to is owned by the message. The getContentSize()
+     * method indicates how much data there is (i.e. the extent of the
+     * memory region pointed to by the return value of this method).
+     */
     QPID_MESSAGING_EXTERN const char* getContentPtr() const;
     /** Get the size of content in bytes. */
     QPID_MESSAGING_EXTERN size_t getContentSize() const;

Modified: qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Session.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Session.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Session.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/include/qpid/messaging/Session.h Tue Jun 21 19:58:01 2011
@@ -78,6 +78,10 @@ class QPID_MESSAGING_CLASS_EXTERN Sessio
      */
     QPID_MESSAGING_EXTERN void acknowledge(Message&, bool sync=false);
     /**
+     * Acknowledges all message up to the specified message.
+     */
+    QPID_MESSAGING_EXTERN void acknowledgeUpTo(Message&, bool sync=false);
+    /**
      * Rejects the specified message. The broker does not redeliver a
      * message that has been rejected. Once a message has been
      * acknowledged, it can no longer be rejected.

Modified: qpid/branches/qpid-3079/qpid/cpp/managementgen/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/managementgen/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/managementgen/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/managementgen/Makefile.am Tue Jun 21 19:58:01 2011
@@ -19,10 +19,16 @@
 qmfpythondir = $(pythondir)
 dist_bin_SCRIPTS = \
 	qmf-gen
-nobase_qmfpython_DATA = \
+
+pkgpyexec_qmfgendir = $(pyexecdir)/qmfgen
+pkgpyexec_qmfgen_PYTHON = \
 	qmfgen/__init__.py \
 	qmfgen/generate.py \
 	qmfgen/schema.py \
+	qmfgen/management-types.xml
+
+pkgpyexec_qmfgentmpldir = $(pyexecdir)/qmfgen/templates
+pkgpyexec_qmfgentmpl_PYTHON = \
 	qmfgen/templates/Args.h \
 	qmfgen/templates/Class.cpp \
 	qmfgen/templates/Class.h \
@@ -32,7 +38,6 @@ nobase_qmfpython_DATA = \
 	qmfgen/templates/Package.cpp \
 	qmfgen/templates/Package.h \
 	qmfgen/templates/V2Package.cpp \
-	qmfgen/templates/V2Package.h \
-	qmfgen/management-types.xml
+	qmfgen/templates/V2Package.h
 
 EXTRA_DIST = $(nobase_qmfpython_DATA) CMakeLists.txt

Modified: qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt Tue Jun 21 19:58:01 2011
@@ -96,7 +96,7 @@ MACRO (add_msvc_version_full verProject 
         inherit_value ("winver_${verProject}_InternalName"         "${verProject}")
         inherit_value ("winver_${verProject}_OriginalFilename"     "${verProject}.${verProjectFileExt}")
         inherit_value ("winver_${verProject}_ProductName"          "${winver_DESCRIPTION_SUMMARY}")
-        
+
         # Create strings to be substituted into the template file
         set ("winverFileVersionBinary"     "${winver_${verProject}_FileVersionBinary}")
         set ("winverProductVersionBinary"  "${winver_${verProject}_ProductVersionBinary}")
@@ -126,7 +126,7 @@ ENDMACRO (add_msvc_version_full)
 #
 MACRO (add_msvc_version verProject verProjectType verProjectFileExt)
     if (MSVC)
-        add_msvc_version_full (${verProject} 
+        add_msvc_version_full (${verProject}
                                ${verProjectType}
                                ${verProjectFileExt}
                                ${winver_FILE_VERSION_N1}
@@ -656,7 +656,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL Windows)
   set (qpidd_platform_SOURCES
     windows/QpiddBroker.cpp
   )
-  
+
   set (qpidmessaging_platform_SOURCES
      qpid/messaging/HandleInstantiator.cpp
   )
@@ -997,7 +997,6 @@ set (qpidbroker_SOURCES
      qpid/broker/QueuePolicy.cpp
      qpid/broker/QueueRegistry.cpp
      qpid/broker/QueueFlowLimit.cpp
-     qpid/broker/RateTracker.cpp
      qpid/broker/RecoveryManagerImpl.cpp
      qpid/broker/RecoveredEnqueue.cpp
      qpid/broker/RecoveredDequeue.cpp

Propchange: qpid/branches/qpid-3079/qpid/cpp/src/CMakeLists.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -3,3 +3,4 @@
 /qpid/branches/0.6-release-windows-installer/qpid/cpp/src/CMakeLists.txt:926803,927233,932132
 /qpid/branches/java-network-refactor/qpid/cpp/src/CMakeLists.txt:805429-825319
 /qpid/branches/qpid-2935/qpid/cpp/src/CMakeLists.txt:1061302-1072333
+/qpid/trunk/qpid/cpp/src/CMakeLists.txt:1104663-1137990

Modified: qpid/branches/qpid-3079/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/Makefile.am?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/Makefile.am (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/Makefile.am Tue Jun 21 19:58:01 2011
@@ -616,8 +616,6 @@ libqpidbroker_la_SOURCES = \
   qpid/broker/QueueFlowLimit.h \
   qpid/broker/QueueFlowLimit.cpp \
   qpid/broker/RateFlowcontrol.h \
-  qpid/broker/RateTracker.cpp \
-  qpid/broker/RateTracker.h \
   qpid/broker/RecoverableConfig.h \
   qpid/broker/RecoverableExchange.h \
   qpid/broker/RecoverableMessage.h \

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qmf/ConsoleSession.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qmf/ConsoleSession.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qmf/ConsoleSession.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qmf/ConsoleSession.cpp Tue Jun 21 19:58:01 2011
@@ -66,7 +66,7 @@ Subscription ConsoleSession::subscribe(c
 //========================================================================================
 
 ConsoleSessionImpl::ConsoleSessionImpl(Connection& c, const string& options) :
-    connection(c), domain("default"), maxAgentAgeMinutes(5),
+    connection(c), domain("default"), maxAgentAgeMinutes(5), listenOnDirect(true), strictSecurity(false),
     opened(false), thread(0), threadCanceled(false), lastVisit(0), lastAgePass(0),
     connectedBrokerInAgentList(false), schemaCache(new SchemaCache())
 {

Propchange: qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/Agent.cpp
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jun 21 19:58:01 2011
@@ -1 +1,2 @@
 /qpid/branches/qpid-2935/qpid/cpp/src/qmf/engine/Agent.cpp:1061302-1072333
+/qpid/trunk/qpid/cpp/src/qmf/engine/Agent.cpp:1104663-1137990

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/ResilientConnection.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/ResilientConnection.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/ResilientConnection.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qmf/engine/ResilientConnection.cpp Tue Jun 21 19:58:01 2011
@@ -334,8 +334,7 @@ void ResilientConnectionImpl::notify()
 {
     if (notifyFd != -1)
     {
-        int unused_ret;    //Suppress warnings about ignoring return value.
-        unused_ret = ::write(notifyFd, ".", 1);
+        (void) ::write(notifyFd, ".", 1);
     }
 }
 
@@ -432,8 +431,7 @@ void ResilientConnectionImpl::EnqueueEve
 
     if (notifyFd != -1)
     {
-        int unused_ret;    //Suppress warnings about ignoring return value.
-        unused_ret = ::write(notifyFd, ".", 1);
+        (void) ::write(notifyFd, ".", 1);
     }
 }
 

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.cpp Tue Jun 21 19:58:01 2011
@@ -188,7 +188,7 @@ Broker::Broker(const Broker::Options& co
             conf.replayFlushLimit*1024, // convert kb to bytes.
             conf.replayHardLimit*1024),
         *this),
-    queueCleaner(queues, timer),
+    queueCleaner(queues, &timer),
     queueEvents(poller,!conf.asyncQueueEvents),
     recovery(true),
     inCluster(false),
@@ -701,7 +701,7 @@ void Broker::accept() {
 }
 
 void Broker::connect(
-    const std::string& host, uint16_t port, const std::string& transport,
+    const std::string& host, const std::string& port, const std::string& transport,
     boost::function2<void, int, std::string> failed,
     sys::ConnectionCodec::Factory* f)
 {
@@ -717,7 +717,7 @@ void Broker::connect(
 {
     url.throwIfEmpty();
     const Address& addr=url[0];
-    connect(addr.host, addr.port, addr.protocol, failed, f);
+    connect(addr.host, boost::lexical_cast<std::string>(addr.port), addr.protocol, failed, f);
 }
 
 uint32_t Broker::queueMoveMessages(
@@ -750,6 +750,7 @@ bool Broker::deferDeliveryImpl(const std
 
 void Broker::setClusterTimer(std::auto_ptr<sys::Timer> t) {
     clusterTimer = t;
+    queueCleaner.setTimer(clusterTimer.get());
 }
 
 const std::string Broker::TCP_TRANSPORT("tcp");

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Broker.h Tue Jun 21 19:58:01 2011
@@ -244,7 +244,7 @@ public:
     QPID_BROKER_EXTERN void accept();
 
     /** Create a connection to another broker. */
-    void connect(const std::string& host, uint16_t port,
+    void connect(const std::string& host, const std::string& port,
                  const std::string& transport,
                  boost::function2<void, int, std::string> failed,
                  sys::ConnectionCodec::Factory* =0);

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.cpp Tue Jun 21 19:58:01 2011
@@ -288,11 +288,11 @@ void Connection::raiseConnectEvent() {
     }
 }
 
-void Connection::setFederationLink(bool b)
+void Connection::setUserProxyAuth(bool b)
 {
-    ConnectionState::setFederationLink(b);
+    ConnectionState::setUserProxyAuth(b);
     if (mgmtObject != 0)
-            mgmtObject->set_federationLink(b);
+        mgmtObject->set_userProxyAuth(b);
 }
 
 void Connection::close(connection::CloseCode code, const string& text)

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Connection.h Tue Jun 21 19:58:01 2011
@@ -125,7 +125,7 @@ class Connection : public sys::Connectio
     const std::string& getUserId() const { return ConnectionState::getUserId(); }
     const std::string& getMgmtId() const { return mgmtId; }
     management::ManagementAgent* getAgent() const { return agent; }
-    void setFederationLink(bool b);
+    void setUserProxyAuth(bool b);
     /** Connection does not delete the listener. 0 resets. */
     void setErrorListener(ErrorListener* l) { errorListener=l; }
     ErrorListener* getErrorListener() { return errorListener; }

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp Tue Jun 21 19:58:01 2011
@@ -137,7 +137,9 @@ void ConnectionHandler::Handler::startOk
         throw;
     }
     connection.setFederationLink(clientProperties.get(QPID_FED_LINK));
-    connection.setFederationPeerTag(clientProperties.getAsString(QPID_FED_TAG));
+    if (clientProperties.isSet(QPID_FED_TAG)) {
+        connection.setFederationPeerTag(clientProperties.getAsString(QPID_FED_TAG));
+    }
     if (connection.isFederationLink()) {
     	if (acl && !acl->authorise(connection.getUserId(),acl::ACT_CREATE,acl::OBJ_LINK,"")){
             proxy.close(framing::connection::CLOSE_CODE_CONNECTION_FORCED,"ACL denied creating a federation link");
@@ -256,7 +258,6 @@ void ConnectionHandler::Handler::start(c
                                                   false ); // disallow interaction
     }
     std::string supportedMechanismsList;
-    bool requestedMechanismIsSupported = false;
     Array::const_iterator i;
 
     /*
@@ -269,11 +270,9 @@ void ConnectionHandler::Handler::start(c
             if (i != supportedMechanisms.begin())
                 supportedMechanismsList += SPACE;
             supportedMechanismsList += (*i)->get<std::string>();
-            requestedMechanismIsSupported = true;
         }
     }
     else {
-        requestedMechanismIsSupported = false;
         /*
           The caller has requested a mechanism.  If it's available,
           make sure it ends up at the head of the list.
@@ -282,7 +281,6 @@ void ConnectionHandler::Handler::start(c
             string currentMechanism = (*i)->get<std::string>();
 
             if ( requestedMechanism == currentMechanism ) {
-                requestedMechanismIsSupported = true;
                 supportedMechanismsList = currentMechanism + SPACE + supportedMechanismsList;
             } else {
                 if (i != supportedMechanisms.begin())
@@ -292,7 +290,9 @@ void ConnectionHandler::Handler::start(c
         }
     }
 
-    connection.setFederationPeerTag(serverProperties.getAsString(QPID_FED_TAG));
+    if (serverProperties.isSet(QPID_FED_TAG)) {
+        connection.setFederationPeerTag(serverProperties.getAsString(QPID_FED_TAG));
+    }
 
     FieldTable ft;
     ft.setInt(QPID_FED_LINK,1);

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionState.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionState.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionState.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ConnectionState.h Tue Jun 21 19:58:01 2011
@@ -46,6 +46,7 @@ class ConnectionState : public Connectio
         framemax(65535),
         heartbeat(0),
         heartbeatmax(120),
+        userProxyAuth(false), // Can proxy msgs with non-matching auth ids when true (used by federation links & clustering)
         federationLink(true),
         clientSupportsThrottling(false),
         clusterOrderOut(0)
@@ -67,8 +68,10 @@ class ConnectionState : public Connectio
     void setUrl(const std::string& _url) { url = _url; }
     const std::string& getUrl() const { return url; }
 
-    void setFederationLink(bool b) {  federationLink = b; }
-    bool isFederationLink() const { return federationLink; }
+    void setUserProxyAuth(const bool b) { userProxyAuth = b; }
+    bool isUserProxyAuth() const { return userProxyAuth || federationPeerTag.size() > 0; } // links can proxy msgs with non-matching auth ids
+    void setFederationLink(bool b) { federationLink = b; } // deprecated - use setFederationPeerTag() instead
+    bool isFederationLink() const { return federationPeerTag.size() > 0; }
     void setFederationPeerTag(const std::string& tag) { federationPeerTag = std::string(tag); }
     const std::string& getFederationPeerTag() const { return federationPeerTag; }
     std::vector<Url>& getKnownHosts() { return knownHosts; }
@@ -105,6 +108,7 @@ class ConnectionState : public Connectio
     uint16_t heartbeatmax;
     std::string userId;
     std::string url;
+    bool userProxyAuth;
     bool federationLink;
     std::string federationPeerTag;
     std::vector<Url> knownHosts;

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Daemon.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Daemon.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Daemon.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Daemon.cpp Tue Jun 21 19:58:01 2011
@@ -93,11 +93,10 @@ void Daemon::fork()
         catch (const exception& e) {
             QPID_LOG(critical, "Unexpected error: " << e.what());
             uint16_t port = 0;
-            int unused_ret;    //Supress warning about ignoring return value.
-            unused_ret = write(pipeFds[1], &port, sizeof(uint16_t));
+            (void) write(pipeFds[1], &port, sizeof(uint16_t));
 
             std::string pipeFailureMessage = e.what();
-            unused_ret = write ( pipeFds[1], 
+            (void) write ( pipeFds[1], 
                     pipeFailureMessage.c_str(), 
                     strlen(pipeFailureMessage.c_str())
                   );

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp Tue Jun 21 19:58:01 2011
@@ -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
@@ -27,12 +27,12 @@ namespace broker {
 
 ExpiryPolicy::~ExpiryPolicy() {}
 
-void ExpiryPolicy::willExpire(Message&) {}
-
 bool ExpiryPolicy::hasExpired(Message& m) {
     return m.getExpiration() < sys::AbsTime::now();
 }
 
-void ExpiryPolicy::forget(Message&) {}
+sys::AbsTime ExpiryPolicy::getCurrentTime() {
+    return sys::AbsTime::now();
+}
 
 }} // namespace qpid::broker

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/ExpiryPolicy.h Tue Jun 21 19:58:01 2011
@@ -10,9 +10,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
@@ -26,6 +26,11 @@
 #include "qpid/broker/BrokerImportExport.h"
 
 namespace qpid {
+
+namespace sys {
+class AbsTime;
+}
+
 namespace broker {
 
 class Message;
@@ -37,9 +42,8 @@ class QPID_BROKER_CLASS_EXTERN ExpiryPol
 {
   public:
     QPID_BROKER_EXTERN virtual ~ExpiryPolicy();
-    QPID_BROKER_EXTERN virtual void willExpire(Message&);
     QPID_BROKER_EXTERN virtual bool hasExpired(Message&);
-    QPID_BROKER_EXTERN virtual void forget(Message&);
+    QPID_BROKER_EXTERN virtual qpid::sys::AbsTime getCurrentTime();
 };
 }} // namespace qpid::broker
 

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/HeadersExchange.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/HeadersExchange.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/HeadersExchange.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/HeadersExchange.cpp Tue Jun 21 19:58:01 2011
@@ -112,9 +112,14 @@ bool HeadersExchange::bind(Queue::shared
 
         {
             Mutex::ScopedLock l(lock);
-            Binding::shared_ptr binding (new Binding (bindingKey, queue, this, *args));
+            //NOTE: do not include the fed op/tags/origin in the
+            //arguments as when x-match is 'all' these would prevent
+            //matching (they are internally added properties
+            //controlling binding propagation but not relevant to
+            //actual routing)
+            Binding::shared_ptr binding (new Binding (bindingKey, queue, this, extra_args));
             BoundKey bk(binding);
-            if (bindings.add_unless(bk, MatchArgs(queue, args))) {
+            if (bindings.add_unless(bk, MatchArgs(queue, &extra_args))) {
                 binding->startManagement();
                 propagate = bk.fedBinding.addOrigin(queue->getName(), fedOrigin);
                 if (mgmtExchange != 0) {

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Link.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Link.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Link.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Link.cpp Tue Jun 21 19:58:01 2011
@@ -117,7 +117,7 @@ void Link::startConnectionLH ()
         // Set the state before calling connect.  It is possible that connect
         // will fail synchronously and call Link::closed before returning.
         setStateLH(STATE_CONNECTING);
-        broker->connect (host, port, transport,
+        broker->connect (host, boost::lexical_cast<std::string>(port), transport,
                          boost::bind (&Link::closed, this, _1, _2));
         QPID_LOG (debug, "Inter-broker link connecting to " << host << ":" << port);
     } catch(std::exception& e) {

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.cpp?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.cpp (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.cpp Tue Jun 21 19:58:01 2011
@@ -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
@@ -49,25 +49,21 @@ TransferAdapter Message::TRANSFER;
 
 Message::Message(const framing::SequenceNumber& id) :
     frames(id), persistenceId(0), redelivered(false), loaded(false),
-    staged(false), forcePersistentPolicy(false), publisher(0), adapter(0), 
+    staged(false), forcePersistentPolicy(false), publisher(0), adapter(0),
     expiration(FAR_FUTURE), dequeueCallback(0),
     inCallback(false), requiredCredit(0), isManagementMessage(false)
 {}
 
 Message::Message(const Message& original) :
     PersistableMessage(), frames(original.frames), persistenceId(0), redelivered(false), loaded(false),
-    staged(false), forcePersistentPolicy(false), publisher(0), adapter(0), 
+    staged(false), forcePersistentPolicy(false), publisher(0), adapter(0),
     expiration(original.expiration), dequeueCallback(0),
     inCallback(false), requiredCredit(0)
 {
     setExpiryPolicy(original.expiryPolicy);
 }
 
-Message::~Message()
-{
-    if (expiryPolicy)
-        expiryPolicy->forget(*this);
-}
+Message::~Message() {}
 
 void Message::forcePersistent()
 {
@@ -87,7 +83,7 @@ std::string Message::getRoutingKey() con
     return getAdapter().getRoutingKey(frames);
 }
 
-std::string Message::getExchangeName() const 
+std::string Message::getExchangeName() const
 {
     return getAdapter().getExchange(frames);
 }
@@ -96,7 +92,7 @@ const boost::shared_ptr<Exchange> Messag
 {
     if (!exchange) {
         exchange = registry.get(getExchangeName());
-    } 
+    }
     return exchange;
 }
 
@@ -196,7 +192,7 @@ void Message::decodeContent(framing::Buf
     } else {
         //adjust header flags
         MarkLastSegment f;
-        frames.map_if(f, TypeFilter<HEADER_BODY>());    
+        frames.map_if(f, TypeFilter<HEADER_BODY>());
     }
     //mark content loaded
     loaded = true;
@@ -248,7 +244,7 @@ void Message::destroy()
 bool Message::getContentFrame(const Queue& queue, AMQFrame& frame, uint16_t maxContentSize, uint64_t offset) const
 {
     intrusive_ptr<const PersistableMessage> pmsg(this);
-    
+
     bool done = false;
     string& data = frame.castBody<AMQContentBody>()->getData();
     store->loadContent(queue, pmsg, data, offset, maxContentSize);
@@ -273,7 +269,7 @@ void Message::sendContent(const Queue& q
         uint16_t maxContentSize = maxFrameSize - AMQFrame::frameOverhead();
         bool morecontent = true;
         for (uint64_t offset = 0; morecontent; offset += maxContentSize)
-        {            
+        {
             AMQFrame frame((AMQContentBody()));
             morecontent = getContentFrame(queue, frame, maxContentSize, offset);
             out.handle(frame);
@@ -291,7 +287,7 @@ void Message::sendHeader(framing::FrameH
 {
     sys::Mutex::ScopedLock l(lock);
     Relay f(out);
-    frames.map_if(f, TypeFilter<HEADER_BODY>());    
+    frames.map_if(f, TypeFilter<HEADER_BODY>());
 }
 
 // TODO aconway 2007-11-09: Obsolete, remove. Was used to cover over
@@ -321,7 +317,7 @@ bool Message::isContentLoaded() const
 }
 
 
-namespace 
+namespace
 {
 const std::string X_QPID_TRACE("x-qpid.trace");
 }
@@ -358,13 +354,13 @@ void Message::addTraceId(const std::stri
             trace += ",";
             trace += id;
             headers.setString(X_QPID_TRACE, trace);
-        }        
+        }
     }
 }
 
-void Message::setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e) 
+void Message::setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e)
 {
-    DeliveryProperties* props = getProperties<DeliveryProperties>();    
+    DeliveryProperties* props = getProperties<DeliveryProperties>();
     if (props->getTtl()) {
         // AMQP requires setting the expiration property to be posix
         // time_t in seconds. TTL is in milliseconds
@@ -373,10 +369,14 @@ void Message::setTimestamp(const boost::
             time_t now = ::time(0);
             props->setExpiration(now + (props->getTtl()/1000));
         }
-        // Use higher resolution time for the internal expiry calculation.
-        Duration ttl(std::min(props->getTtl() * TIME_MSEC, (uint64_t) std::numeric_limits<int64_t>::max()));//Prevent overflow
-        expiration = AbsTime(AbsTime::now(), ttl);
-        setExpiryPolicy(e);
+        if (e) {
+            // Use higher resolution time for the internal expiry calculation.
+            // Prevent overflow as a signed int64_t
+            Duration ttl(std::min(props->getTtl() * TIME_MSEC,
+                                  (uint64_t) std::numeric_limits<int64_t>::max()));
+            expiration = AbsTime(e->getCurrentTime(), ttl);
+            setExpiryPolicy(e);
+        }
     }
 }
 
@@ -386,16 +386,17 @@ void Message::adjustTtl()
     if (props->getTtl()) {
         sys::Mutex::ScopedLock l(lock);
         if (expiration < FAR_FUTURE) {
-            sys::Duration d(sys::AbsTime::now(), getExpiration());
-            props->setTtl(int64_t(d) > 0 ? int64_t(d)/1000000 : 1); // convert from ns to ms; set to 1 if expired
+            sys::AbsTime current(
+                expiryPolicy ? expiryPolicy->getCurrentTime() : sys::AbsTime::now());
+            sys::Duration ttl(current, getExpiration());
+            // convert from ns to ms; set to 1 if expired
+            props->setTtl(int64_t(ttl) >= 1000000 ? int64_t(ttl)/1000000 : 1);
         }
     }
 }
 
 void Message::setExpiryPolicy(const boost::intrusive_ptr<ExpiryPolicy>& e) {
     expiryPolicy = e;
-    if (expiryPolicy) 
-        expiryPolicy->willExpire(*this);
 }
 
 bool Message::hasExpired()

Modified: qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.h?rev=1138153&r1=1138152&r2=1138153&view=diff
==============================================================================
--- qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.h (original)
+++ qpid/branches/qpid-3079/qpid/cpp/src/qpid/broker/Message.h Tue Jun 21 19:58:01 2011
@@ -10,9 +10,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
@@ -34,12 +34,12 @@
 #include <vector>
 
 namespace qpid {
-       
+
 namespace framing {
 class FieldTable;
 class SequenceNumber;
 }
-       
+
 namespace broker {
 class ConnectionToken;
 class Exchange;
@@ -51,11 +51,11 @@ class ExpiryPolicy;
 class Message : public PersistableMessage {
 public:
     typedef boost::function<void (const boost::intrusive_ptr<Message>&)> MessageCallback;
-    
+
     QPID_BROKER_EXTERN Message(const framing::SequenceNumber& id = framing::SequenceNumber());
     QPID_BROKER_EXTERN Message(const Message&);
     QPID_BROKER_EXTERN ~Message();
-        
+
     uint64_t getPersistenceId() const { return persistenceId; }
     void setPersistenceId(uint64_t _persistenceId) const { persistenceId = _persistenceId; }
 
@@ -83,10 +83,11 @@ public:
     void setExpiryPolicy(const boost::intrusive_ptr<ExpiryPolicy>& e);
     bool hasExpired();
     sys::AbsTime getExpiration() const { return expiration; }
+    void setExpiration(sys::AbsTime exp) { expiration = exp; }
     void adjustTtl();
 
-    framing::FrameSet& getFrames() { return frames; } 
-    const framing::FrameSet& getFrames() const { return frames; } 
+    framing::FrameSet& getFrames() { return frames; }
+    const framing::FrameSet& getFrames() const { return frames; }
 
     template <class T> T* getProperties() {
         qpid::framing::AMQHeaderBody* p = frames.getHeaders();
@@ -103,6 +104,11 @@ public:
         return p->get<T>();
     }
 
+    template <class T> void eraseProperties() {
+        qpid::framing::AMQHeaderBody* p = frames.getHeaders();
+        p->erase<T>();
+    }
+
     template <class T> const T* getMethod() const {
         return frames.as<T>();
     }
@@ -135,7 +141,7 @@ public:
 
     QPID_BROKER_EXTERN void decodeHeader(framing::Buffer& buffer);
     QPID_BROKER_EXTERN void decodeContent(framing::Buffer& buffer);
-            
+
     void QPID_BROKER_EXTERN tryReleaseContent();
     void releaseContent();
     void releaseContent(MessageStore* s);//deprecated, use 'setStore(store); releaseContent();' instead
@@ -149,10 +155,10 @@ public:
 
     bool isExcluded(const std::vector<std::string>& excludes) const;
     void addTraceId(const std::string& id);
-       
+
        void forcePersistent();
        bool isForcedPersistent();
-    
+
 
     /** Call cb when dequeue is complete, may call immediately. Holds cb by reference. */
     void setDequeueCompleteCallback(MessageCallback& cb);



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org