diff options
Diffstat (limited to 'trunk/qpid/cpp/src/tests/consume.cpp')
-rw-r--r-- | trunk/qpid/cpp/src/tests/consume.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/trunk/qpid/cpp/src/tests/consume.cpp b/trunk/qpid/cpp/src/tests/consume.cpp deleted file mode 100644 index 29c61ada1b..0000000000 --- a/trunk/qpid/cpp/src/tests/consume.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - * - * 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 <algorithm> -#include <iostream> -#include <memory> -#include <sstream> -#include <vector> - -#include "TestOptions.h" -#include "qpid/client/Connection.h" -#include "qpid/client/Message.h" -#include "qpid/client/Session.h" -#include "qpid/client/SubscriptionManager.h" - -using namespace qpid; -using namespace qpid::client; -using namespace qpid::sys; -using namespace std; - -typedef vector<string> StringSet; - -struct Args : public qpid::TestOptions { - uint count; - uint ack; - string queue; - bool declare; - bool summary; - - Args() : count(1000), ack(0), queue("publish-consume"), - declare(false), summary(false) - { - addOptions() - ("count", optValue(count, "N"), "number of messages to publish") - ("ack-frequency", optValue(ack, "N"), "ack every N messages (0 means use no-ack mode)") - ("queue", optValue(queue, "<queue name>"), "queue to consume from") - ("declare", optValue(declare), "declare the queue") - ("s,summary", optValue(summary), "Print undecorated rate."); - } -}; - -Args opts; - -struct Client -{ - Connection connection; - Session session; - - Client() - { - opts.open(connection); - session = connection.newSession(); - } - - void consume() - { - if (opts.declare) - session.queueDeclare(opts.queue); - SubscriptionManager subs(session); - LocalQueue lq(AckPolicy(opts.ack)); - subs.setAcceptMode(opts.ack > 0 ? 0 : 1); - subs.setFlowControl(opts.count, SubscriptionManager::UNLIMITED, - false); - subs.subscribe(lq, opts.queue); - Message msg; - AbsTime begin=now(); - for (size_t i = 0; i < opts.count; ++i) { - msg=lq.pop(); - QPID_LOG(info, "Received: " << msg.getMessageProperties().getCorrelationId()); - } - if (opts.ack != 0) - subs.getAckPolicy().ackOutstanding(session); // Cumulative ack for final batch. - AbsTime end=now(); - double secs(double(Duration(begin,end))/TIME_SEC); - if (opts.summary) cout << opts.count/secs << endl; - else cout << "Time: " << secs << "s Rate: " << opts.count/secs << endl; - } - - ~Client() - { - try{ - session.close(); - connection.close(); - } catch(const exception& e) { - cout << e.what() << endl; - } - } -}; - -int main(int argc, char** argv) -{ - try { - opts.parse(argc, argv); - Client client; - client.consume(); - return 0; - } catch(const exception& e) { - cout << e.what() << endl; - } - return 1; -} |