Return-Path: Delivered-To: apmail-incubator-qpid-commits-archive@locus.apache.org Received: (qmail 96345 invoked from network); 14 Dec 2007 11:25:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Dec 2007 11:25:09 -0000 Received: (qmail 30907 invoked by uid 500); 14 Dec 2007 11:24:58 -0000 Delivered-To: apmail-incubator-qpid-commits-archive@incubator.apache.org Received: (qmail 30893 invoked by uid 500); 14 Dec 2007 11:24:58 -0000 Mailing-List: contact qpid-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: qpid-dev@incubator.apache.org Delivered-To: mailing list qpid-commits@incubator.apache.org Received: (qmail 30884 invoked by uid 99); 14 Dec 2007 11:24:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Dec 2007 03:24:58 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Dec 2007 11:25:07 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 04CF61A9832; Fri, 14 Dec 2007 03:24:46 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r604170 - /incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp Date: Fri, 14 Dec 2007 11:24:45 -0000 To: qpid-commits@incubator.apache.org From: gsim@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071214112446.04CF61A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gsim Date: Fri Dec 14 03:24:45 2007 New Revision: 604170 URL: http://svn.apache.org/viewvc?rev=604170&view=rev Log: Allow the queue policy to be set through command line options Modified: incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp Modified: incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp?rev=604170&r1=604169&r2=604170&view=diff ============================================================================== --- incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp (original) +++ incubator/qpid/trunk/qpid/cpp/src/tests/perftest.cpp Fri Dec 14 03:24:45 2007 @@ -26,6 +26,7 @@ #include "qpid/client/Connection.h" #include "qpid/client/Completion.h" #include "qpid/client/Message.h" +#include "qpid/framing/FieldTable.h" #include "qpid/sys/Time.h" #include @@ -68,6 +69,10 @@ // Actions bool setup, control, publish, subscribe; + // Queue policy + uint32_t queueMaxCount; + uint64_t queueMaxSize; + // Publisher size_t pubs; size_t count ; @@ -115,7 +120,10 @@ "N==0: Subscriber uses unconfirmed mode") ("qt", optValue(qt, "N"), "Create N queues or topics.") - ("summary,s", optValue(summary), "Summary output: pubs/sec subs/sec transfers/sec Mbytes/sec"); + ("summary,s", optValue(summary), "Summary output: pubs/sec subs/sec transfers/sec Mbytes/sec") + + ("queue_max_count", optValue(queueMaxCount, "N"), "queue policy: count to trigger 'flow to disk'") + ("queue_max_size", optValue(queueMaxSize, "N"), "queue policy: accumulated size to trigger 'flow to disk'"); } // Computed values @@ -187,9 +195,9 @@ struct Setup : public Client { - void queueInit(string name, bool durable=false) { - session.queueDeclare(arg::queue=name, arg::durable=durable); - session.queuePurge(arg::queue=name); + void queueInit(string name, bool durable=false, const framing::FieldTable& settings=framing::FieldTable()) { + session.queueDeclare(arg::queue=name, arg::durable=durable, arg::arguments=settings); + session.queuePurge(arg::queue=name).sync(); } void run() { @@ -198,14 +206,15 @@ queueInit("sub_ready"); queueInit("sub_done"); if (opts.mode==SHARED) { + framing::FieldTable settings;//queue policy settings + settings.setInt("qpid.max_count", opts.queueMaxCount); + settings.setInt("qpid.max_size", opts.queueMaxSize); for (size_t i = 0; i < opts.qt; ++i) { ostringstream qname; qname << "perftest" << i; - queueInit(qname.str(), opts.durable); + queueInit(qname.str(), opts.durable, settings); } } - // Make sure this is all completed before we return. - session.getExecution().sendSyncRequest(); } };