You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2010/03/29 20:15:43 UTC

svn commit: r928855 - in /qpid/trunk/qpid/cpp: examples/messaging/ include/qpid/messaging/ src/ src/qpid/client/amqp0_10/ src/qpid/messaging/ src/tests/

Author: gsim
Date: Mon Mar 29 18:15:42 2010
New Revision: 928855

URL: http://svn.apache.org/viewvc?rev=928855&view=rev
Log:
QPID-2406: a more explicit solution for durations in the messaging api

Added:
    qpid/trunk/qpid/cpp/src/qpid/messaging/Duration.cpp
Modified:
    qpid/trunk/qpid/cpp/examples/messaging/drain.cpp
    qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h
    qpid/trunk/qpid/cpp/src/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/Makefile.am
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
    qpid/trunk/qpid/cpp/src/qpid/messaging/Message.cpp
    qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp
    qpid/trunk/qpid/cpp/src/tests/qpid_recv.cpp
    qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp

Modified: qpid/trunk/qpid/cpp/examples/messaging/drain.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/messaging/drain.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/messaging/drain.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/messaging/drain.cpp Mon Mar 29 18:15:42 2010
@@ -64,8 +64,8 @@ struct Options : public qpid::Options
 
     Duration getTimeout()
     {
-        if (forever) return INFINITE_DURATION;
-        else return timeout*DURATION_SEC;
+        if (forever) return Duration::INFINITE;
+        else return timeout*Duration::SECOND;
 
     }
     bool parse(int argc, char** argv)

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h Mon Mar 29 18:15:42 2010
@@ -22,7 +22,6 @@
  *
  */
 #include "qpid/sys/IntegerTypes.h"
-#include <limits>
 
 namespace qpid {
 namespace messaging {
@@ -30,9 +29,21 @@ namespace messaging {
 /**
  * A duration is a time in milliseconds.
  */
-typedef uint64_t Duration;
-const Duration INFINITE_DURATION = std::numeric_limits<uint64_t>::max();
-const Duration DURATION_SEC  = 1000;
+class Duration
+{
+  public:
+    explicit Duration(uint64_t milliseconds);
+    uint64_t getMilliseconds() const;
+    static const Duration INFINITE;
+    static const Duration IMMEDIATE;
+    static const Duration SECOND;
+    static const Duration MINUTE;
+  private:
+    uint64_t milliseconds;
+};
+
+Duration operator*(const Duration& duration, uint64_t multiplier);
+Duration operator*(uint64_t multiplier, const Duration& duration);
 
 }} // namespace qpid::messaging
 

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h Mon Mar 29 18:15:42 2010
@@ -53,7 +53,7 @@ class Receiver : public qpid::messaging:
      * available. Returns false if there is no message to give after
      * waiting for the specified timeout.
      */
-    QPID_CLIENT_EXTERN bool get(Message& message, Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN bool get(Message& message, Duration timeout=Duration::INFINITE);
     /**
      * Retrieves a message from this receivers local queue, or waits
      * for up to the specified timeout for a message to become
@@ -62,7 +62,7 @@ class Receiver : public qpid::messaging:
      *@exception NoMessageAvailable if there is no message to give
      * after waiting for the specified timeout.
      */
-    QPID_CLIENT_EXTERN Message get(Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN Message get(Duration timeout=Duration::INFINITE);
     /**
      * Retrieves a message for this receivers subscription or waits
      * for up to the specified timeout for one to become
@@ -70,7 +70,7 @@ class Receiver : public qpid::messaging:
      * that there is no message for the subscription this receiver is
      * serving before returning false.
      */
-    QPID_CLIENT_EXTERN bool fetch(Message& message, Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN bool fetch(Message& message, Duration timeout=Duration::INFINITE);
     /**
      * Retrieves a message for this receivers subscription or waits
      * for up to the specified timeout for one to become
@@ -81,7 +81,7 @@ class Receiver : public qpid::messaging:
      *@exception NoMessageAvailable if there is no message to give
      * after waiting for the specified timeout.
      */
-    QPID_CLIENT_EXTERN Message fetch(Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN Message fetch(Duration timeout=Duration::INFINITE);
     /**
      * Sets the capacity for the receiver. The capacity determines how
      * many incoming messages can be held in the receiver before being

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h Mon Mar 29 18:15:42 2010
@@ -102,7 +102,7 @@ class Session : public qpid::messaging::
      * which case the passed in receiver reference will be set to the
      * receiver for that message or false if no message was available.
      */
-    QPID_CLIENT_EXTERN bool nextReceiver(Receiver&, Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN bool nextReceiver(Receiver&, Duration timeout=Duration::INFINITE);
     /**
      * Returns the receiver for the next available message. If there
      * are no available messages at present the call will block for up
@@ -111,7 +111,7 @@ class Session : public qpid::messaging::
      *@exception Receiver::NoMessageAvailable if no message became available in
      * time.
      */
-    QPID_CLIENT_EXTERN Receiver nextReceiver(Duration timeout=INFINITE_DURATION);
+    QPID_CLIENT_EXTERN Receiver nextReceiver(Duration timeout=Duration::INFINITE);
     
     /**
      * Create a new sender through which messages can be sent to the

Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Mon Mar 29 18:15:42 2010
@@ -679,6 +679,7 @@ set (qpidclient_SOURCES
      qpid/messaging/AddressParser.cpp
      qpid/messaging/Connection.cpp
      qpid/messaging/ConnectionImpl.h
+     qpid/messaging/Duration.cpp
      qpid/messaging/ListContent.cpp
      qpid/messaging/ListView.cpp
      qpid/messaging/MapContent.cpp

Modified: qpid/trunk/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/Makefile.am?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/src/Makefile.am Mon Mar 29 18:15:42 2010
@@ -707,6 +707,7 @@ libqpidclient_la_SOURCES =			\
   qpid/messaging/AddressParser.h		\
   qpid/messaging/AddressParser.cpp		\
   qpid/messaging/Connection.cpp			\
+  qpid/messaging/Duration.cpp			\
   qpid/messaging/ListContent.cpp		\
   qpid/messaging/ListView.cpp			\
   qpid/messaging/MapContent.cpp			\

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp Mon Mar 29 18:15:42 2010
@@ -26,6 +26,7 @@
 #include "qpid/client/SessionBase_0_10Access.h"
 #include "qpid/log/Statement.h"
 #include "qpid/messaging/Address.h"
+#include "qpid/messaging/Duration.h"
 #include "qpid/messaging/Message.h"
 #include "qpid/messaging/MessageImpl.h"
 #include "qpid/types/Variant.h"
@@ -276,7 +277,7 @@ void populateHeaders(qpid::messaging::Me
                      const MessageProperties* messageProperties)
 {
     if (deliveryProperties) {
-        message.setTtl(deliveryProperties->getTtl());
+        message.setTtl(qpid::messaging::Duration(deliveryProperties->getTtl()));
         message.setDurable(deliveryProperties->getDeliveryMode() == DELIVERY_MODE_PERSISTENT);
         MessageImplAccess::get(message).redelivered = deliveryProperties->getRedelivered();
     }

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp Mon Mar 29 18:15:42 2010
@@ -47,7 +47,7 @@ void OutgoingMessage::convert(const qpid
         message.getMessageProperties().setReplyTo(AddressResolution::convert(address));
     }
     translate(from.getHeaders(), message.getMessageProperties().getApplicationHeaders());
-    message.getDeliveryProperties().setTtl(from.getTtl());
+    message.getDeliveryProperties().setTtl(from.getTtl().getMilliseconds());
     if (from.getDurable()) {
         message.getDeliveryProperties().setDeliveryMode(DELIVERY_MODE_PERSISTENT);
     }

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp Mon Mar 29 18:15:42 2010
@@ -30,6 +30,7 @@ namespace client {
 namespace amqp0_10 {
 
 using qpid::messaging::Receiver;
+using qpid::messaging::Duration;
 
 void ReceiverImpl::received(qpid::messaging::Message&)
 {
@@ -163,7 +164,7 @@ bool ReceiverImpl::fetchImpl(qpid::messa
     } else {
         sync(session).messageFlush(destination);
         startFlow();//reallocate credit
-        return getImpl(message, 0);
+        return getImpl(message, Duration::IMMEDIATE);
     }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp Mon Mar 29 18:15:42 2010
@@ -267,8 +267,9 @@ bool SessionImpl::accept(ReceiverImpl* r
 
 qpid::sys::Duration adjust(qpid::messaging::Duration timeout)
 {
-    if (timeout < (uint64_t) (qpid::sys::TIME_INFINITE/qpid::sys::TIME_MSEC)) {
-        return timeout * qpid::sys::TIME_MSEC;
+    uint64_t ms = timeout.getMilliseconds();
+    if (ms < (uint64_t) (qpid::sys::TIME_INFINITE/qpid::sys::TIME_MSEC)) {
+        return ms * qpid::sys::TIME_MSEC;
     } else {
         return qpid::sys::TIME_INFINITE;
     }

Added: qpid/trunk/qpid/cpp/src/qpid/messaging/Duration.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/Duration.cpp?rev=928855&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/Duration.cpp (added)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/Duration.cpp Mon Mar 29 18:15:42 2010
@@ -0,0 +1,45 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+#include "qpid/messaging/Duration.h"
+#include <limits>
+
+namespace qpid {
+namespace messaging {
+
+Duration::Duration(uint64_t ms) : milliseconds(ms) {}
+uint64_t Duration::getMilliseconds() const { return milliseconds; }
+
+Duration operator*(const Duration& duration, uint64_t multiplier)
+{
+    return Duration(duration.getMilliseconds() * multiplier);
+}
+
+Duration operator*(uint64_t multiplier, const Duration& duration)
+{
+    return Duration(duration.getMilliseconds() * multiplier);
+}
+
+const Duration Duration::INFINITE(std::numeric_limits<uint64_t>::max());
+const Duration Duration::IMMEDIATE(0);
+const Duration Duration::SECOND(1000);
+const Duration Duration::MINUTE(SECOND * 60);
+
+}} // namespace qpid::messaging

Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/Message.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/Message.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/Message.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/Message.cpp Mon Mar 29 18:15:42 2010
@@ -52,8 +52,8 @@ const std::string& Message::getUserId() 
 void Message::setCorrelationId(const std::string& id) { impl->correlationId = id; }
 const std::string& Message::getCorrelationId() const { return impl->correlationId; }
 
-void Message::setTtl(Duration ttl) { impl->ttl = ttl; }
-Duration Message::getTtl() const { return impl->ttl; }
+void Message::setTtl(Duration ttl) { impl->ttl = ttl.getMilliseconds(); }
+Duration Message::getTtl() const { return Duration(impl->ttl); }
 
 void Message::setDurable(bool durable) { impl->durable = durable; }
 bool Message::getDurable() const { return impl->durable; }

Modified: qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp Mon Mar 29 18:15:42 2010
@@ -131,7 +131,7 @@ struct MessagingFixture : public BrokerF
         Message out(Uuid(true).str());
         s.send(out);
         Message in;
-        BOOST_CHECK(r.fetch(in, 5*DURATION_SEC));
+        BOOST_CHECK(r.fetch(in, 5*Duration::SECOND));
         BOOST_CHECK_EQUAL(out.getContent(), in.getContent());
         r.close();
         s.close();
@@ -197,7 +197,7 @@ struct MultiQueueFixture : MessagingFixt
     }
 
 };
-std::vector<std::string> fetch(Receiver& receiver, int count, Duration timeout=DURATION_SEC*5)
+std::vector<std::string> fetch(Receiver& receiver, int count, Duration timeout=Duration::SECOND*5)
 {
     std::vector<std::string> data;
     Message message;
@@ -216,7 +216,7 @@ void send(Sender& sender, uint count = 1
 }
 
 void receive(Receiver& receiver, uint count = 1, uint start = 1,
-             const std::string& base = "Message", Duration timeout=DURATION_SEC*5)
+             const std::string& base = "Message", Duration timeout=Duration::SECOND*5)
 {
     for (uint i = start; i < start + count; ++i) {
         BOOST_CHECK_EQUAL(receiver.fetch(timeout).getContent(), (boost::format("%1%_%2%") % base % i).str());
@@ -230,7 +230,7 @@ QPID_AUTO_TEST_CASE(testSimpleSendReceiv
     Message out("test-message");
     sender.send(out);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(Duration::SECOND * 5);
     fix.session.acknowledge();
     BOOST_CHECK_EQUAL(in.getContent(), out.getContent());
 }
@@ -247,7 +247,7 @@ QPID_AUTO_TEST_CASE(testSendReceiveHeade
     Receiver receiver = fix.session.createReceiver(fix.queue);
     Message in;
     for (uint i = 0; i < 10; ++i) {
-        BOOST_CHECK(receiver.fetch(in, 5 * DURATION_SEC));
+        BOOST_CHECK(receiver.fetch(in, Duration::SECOND * 5));
         BOOST_CHECK_EQUAL(in.getContent(), out.getContent());
         BOOST_CHECK_EQUAL(in.getHeaders()["a"].asUint32(), i);
         fix.session.acknowledge();
@@ -301,7 +301,7 @@ QPID_AUTO_TEST_CASE(testSimpleTopic)
     BOOST_CHECK_EQUAL(fetch(sub1, 4), boost::assign::list_of<std::string>("two")("three")("four")("five"));
     BOOST_CHECK_EQUAL(fetch(sub3, 2), boost::assign::list_of<std::string>("four")("five"));
     Message in;
-    BOOST_CHECK(!sub2.fetch(in, 0));//TODO: or should this raise an error?
+    BOOST_CHECK(!sub2.fetch(in, Duration::IMMEDIATE));//TODO: or should this raise an error?
 
 
     //TODO: check pending messages...
@@ -324,7 +324,7 @@ QPID_AUTO_TEST_CASE(testNextReceiver)
 
     for (uint i = 0; i < fix.queues.size(); i++) {
         Message msg;
-        BOOST_CHECK(fix.session.nextReceiver().fetch(msg, DURATION_SEC));
+        BOOST_CHECK(fix.session.nextReceiver().fetch(msg, Duration::SECOND));
         BOOST_CHECK_EQUAL(msg.getContent(), (boost::format("Message_%1%") % (i+1)).str());
     }
 }
@@ -346,7 +346,7 @@ QPID_AUTO_TEST_CASE(testMapMessage)
     content.encode();
     sender.send(out);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(5 * Duration::SECOND);
     MapView view(in);
     BOOST_CHECK_EQUAL(view["abc"].asString(), "def");
     BOOST_CHECK_EQUAL(view["pi"].asFloat(), 3.14f);
@@ -369,7 +369,7 @@ QPID_AUTO_TEST_CASE(testMapMessageWithIn
     content.encode();
     sender.send(out);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(5 * Duration::SECOND);
     MapView view(in);
     BOOST_CHECK_EQUAL(view["abc"].asString(), "def");
     BOOST_CHECK_EQUAL(view["pi"].asFloat(), 3.14f);
@@ -389,7 +389,7 @@ QPID_AUTO_TEST_CASE(testListMessage)
     content.encode();
     sender.send(out);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(5 * Duration::SECOND);
     ListView view(in);
     BOOST_CHECK_EQUAL(view.size(), content.size());
     BOOST_CHECK_EQUAL(view.front().asString(), "abc");
@@ -423,7 +423,7 @@ QPID_AUTO_TEST_CASE(testListMessageWithI
     content.encode();
     sender.send(out);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(5 * Duration::SECOND);
     ListView view(in);
     BOOST_CHECK_EQUAL(view.size(), content.size());
     BOOST_CHECK_EQUAL(view.front().asString(), "abc");
@@ -452,10 +452,10 @@ QPID_AUTO_TEST_CASE(testReject)
     Message m2("accept-me");
     sender.send(m2);
     Receiver receiver = fix.session.createReceiver(fix.queue);
-    Message in = receiver.fetch(5 * DURATION_SEC);
+    Message in = receiver.fetch(5 * Duration::SECOND);
     BOOST_CHECK_EQUAL(in.getContent(), m1.getContent());
     fix.session.reject(in);
-    in = receiver.fetch(5 * DURATION_SEC);
+    in = receiver.fetch(5 * Duration::SECOND);
     BOOST_CHECK_EQUAL(in.getContent(), m2.getContent());
     fix.session.acknowledge();
 }
@@ -834,17 +834,17 @@ QPID_AUTO_TEST_CASE(testTx)
     send(sender2, 5, 1, "B");
     ssn2.commit();
     receive(receiver1, 5, 1, "B");//(only those from sender2 should be received)
-    BOOST_CHECK(!receiver1.fetch(in, 0));//check there are no more messages
+    BOOST_CHECK(!receiver1.fetch(in, Duration::IMMEDIATE));//check there are no more messages
     ssn1.rollback();
     receive(receiver2, 5, 1, "B");
-    BOOST_CHECK(!receiver2.fetch(in, 0));//check there are no more messages
+    BOOST_CHECK(!receiver2.fetch(in, Duration::IMMEDIATE));//check there are no more messages
     ssn2.rollback();
     receive(receiver1, 5, 1, "B");
-    BOOST_CHECK(!receiver1.fetch(in, 0));//check there are no more messages
+    BOOST_CHECK(!receiver1.fetch(in, Duration::IMMEDIATE));//check there are no more messages
     ssn1.commit();
     //check neither receiver gets any more messages:
-    BOOST_CHECK(!receiver1.fetch(in, 0));
-    BOOST_CHECK(!receiver2.fetch(in, 0));
+    BOOST_CHECK(!receiver1.fetch(in, Duration::IMMEDIATE));
+    BOOST_CHECK(!receiver2.fetch(in, Duration::IMMEDIATE));
 }
 
 QPID_AUTO_TEST_SUITE_END()

Modified: qpid/trunk/qpid/cpp/src/tests/qpid_recv.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpid_recv.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/qpid_recv.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/qpid_recv.cpp Mon Mar 29 18:15:42 2010
@@ -96,8 +96,8 @@ struct Options : public qpid::Options
 
     Duration getTimeout()
     {
-        if (forever) return INFINITE_DURATION;
-        else return timeout*DURATION_SEC;
+        if (forever) return Duration::INFINITE;
+        else return Duration::SECOND*timeout;
 
     }
     bool parse(int argc, char** argv)
@@ -173,7 +173,7 @@ int main(int argc, char ** argv)
                             if (msg.getReplyTo()) std::cout << "ReplyTo: " << msg.getReplyTo() << std::endl;
                             if (msg.getCorrelationId().size()) std::cout << "CorrelationId: " << msg.getCorrelationId() << std::endl;
                             if (msg.getUserId().size()) std::cout << "UserId: " << msg.getUserId() << std::endl;
-                            if (msg.getTtl()) std::cout << "TTL: " << msg.getTtl() << std::endl;
+                            if (msg.getTtl().getMilliseconds()) std::cout << "TTL: " << msg.getTtl().getMilliseconds() << std::endl;
                             if (msg.getDurable()) std::cout << "Durable: true" << std::endl;
                             if (msg.isRedelivered()) std::cout << "Redelivered: true" << std::endl;
                             std::cout << "Headers: " << msg.getHeaders() << std::endl;

Modified: qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp?rev=928855&r1=928854&r2=928855&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/qpid_send.cpp Mon Mar 29 18:15:42 2010
@@ -192,7 +192,7 @@ int main(int argc, char ** argv)
             Message msg;
             msg.setDurable(opts.durable);
             if (opts.ttl) {
-                msg.setTtl(opts.ttl);
+                msg.setTtl(Duration(opts.ttl));
             }
             if (!opts.replyto.empty()) msg.setReplyTo(Address(opts.replyto));
             if (!opts.userid.empty()) msg.setUserId(opts.userid);



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