summaryrefslogtreecommitdiff
path: root/cpp/src/tests/replaying_sender.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-04-09 16:17:39 +0000
committerAlan Conway <aconway@apache.org>2009-04-09 16:17:39 +0000
commit66842ae89dbba038937bb3a1da641c24c7a1dcd1 (patch)
treebd128598d364e0804ec858fa2097a559908e894e /cpp/src/tests/replaying_sender.cpp
parent1d83d8d68ff636ddb2cae02629563558174d621a (diff)
downloadqpid-python-66842ae89dbba038937bb3a1da641c24c7a1dcd1.tar.gz
Add durability option to the cpp failover_soak test.
From Mick Goulish: https://issues.apache.org/jira/browse/QPID-1796, git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@763722 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/replaying_sender.cpp')
-rw-r--r--cpp/src/tests/replaying_sender.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/cpp/src/tests/replaying_sender.cpp b/cpp/src/tests/replaying_sender.cpp
index ea2a13bd54..3ee69eec14 100644
--- a/cpp/src/tests/replaying_sender.cpp
+++ b/cpp/src/tests/replaying_sender.cpp
@@ -40,9 +40,10 @@ class Sender : public FailoverManager::Command
public:
Sender(const std::string& queue, uint count, uint reportFreq);
void execute(AsyncSession& session, bool isRetry);
- uint getSent();
+ uint getSent();
- int verbosity;
+ void setVerbosity ( int v ) { verbosity = v; }
+ void setPersistence ( int p ) { persistence = p; }
private:
MessageReplayTracker sender;
@@ -51,9 +52,11 @@ class Sender : public FailoverManager::Command
const uint reportFrequency;
Message message;
+ int verbosity;
+ int persistence;
};
-Sender::Sender(const std::string& queue, uint count_, uint reportFreq ) : sender(10), count(count_), sent(0), reportFrequency(reportFreq)
+Sender::Sender(const std::string& queue, uint count_, uint reportFreq ) : sender(10), count(count_), sent(0), reportFrequency(reportFreq), verbosity(0), persistence(0)
{
message.getDeliveryProperties().setRoutingKey(queue);
}
@@ -69,6 +72,9 @@ void Sender::execute(AsyncSession& session, bool isRetry)
message_data << ++sent;
message.setData(message_data.str());
message.getHeaders().setInt("sn", sent);
+ if ( persistence )
+ message.getDeliveryProperties().setDeliveryMode(PERSISTENT);
+
sender.send(message);
if (count > reportFrequency && !(sent % reportFrequency)) {
if ( verbosity > 0 )
@@ -91,9 +97,9 @@ int main(int argc, char ** argv)
{
ConnectionSettings settings;
- if ( argc != 6 )
+ if ( argc != 7 )
{
- std::cerr << "Usage: replaying_sender host port n_messages report_frequency verbosity\n";
+ std::cerr << "Usage: replaying_sender host port n_messages report_frequency verbosity persistence\n";
return 1;
}
@@ -102,10 +108,12 @@ int main(int argc, char ** argv)
int n_messages = atoi(argv[3]);
int reportFrequency = atoi(argv[4]);
int verbosity = atoi(argv[5]);
+ int persistence = atoi(argv[6]);
FailoverManager connection(settings);
Sender sender("message_queue", n_messages, reportFrequency );
- sender.verbosity = verbosity;
+ sender.setVerbosity ( verbosity );
+ sender.setPersistence ( persistence );
try {
connection.execute ( sender );
if ( verbosity > 0 )