summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/examples/failover/direct_producer.cpp3
-rw-r--r--cpp/src/qpid/client/FailoverConnection.cpp10
2 files changed, 5 insertions, 8 deletions
diff --git a/cpp/examples/failover/direct_producer.cpp b/cpp/examples/failover/direct_producer.cpp
index 4f91c9c4d4..ef2231a7f0 100644
--- a/cpp/examples/failover/direct_producer.cpp
+++ b/cpp/examples/failover/direct_producer.cpp
@@ -39,6 +39,7 @@ main ( int argc, char ** argv)
const char* host = argc>1 ? argv[1] : "127.0.0.1";
int port = argc>2 ? atoi(argv[2]) : 5672;
int count = argc>3 ? atoi(argv[3]) : 30;
+ int delayMs = argc>4 ? atoi(argv[4]) : 1000;
try {
FailoverConnection connection;
@@ -70,7 +71,7 @@ main ( int argc, char ** argv)
0,
message
);
- sleep ( 1 );
+ usleep ( 1000*delayMs );
++ sent;
}
message.setData ( "That's all, folks!" );
diff --git a/cpp/src/qpid/client/FailoverConnection.cpp b/cpp/src/qpid/client/FailoverConnection.cpp
index c5d775bf82..3e982747ff 100644
--- a/cpp/src/qpid/client/FailoverConnection.cpp
+++ b/cpp/src/qpid/client/FailoverConnection.cpp
@@ -126,7 +126,7 @@ FailoverConnection::failover ( )
{
std::vector<Url> knownBrokers = connection.getKnownBrokers();
if (knownBrokers.empty())
- throw Exception(QPID_MSG("FailoverConnection::failover " << name << " no known brokers."));
+ throw Exception(QPID_MSG("FailoverConnection::failover " << name << " no known brokers."));
Connection newConnection;
for (std::vector<Url>::iterator i = knownBrokers.begin(); i != knownBrokers.end(); ++i) {
@@ -171,12 +171,8 @@ FailoverConnection::failover ( )
}
connection = newConnection;
-
- // FIXME aconway 2008-10-09: use sys/Time.h functions.
- if ( failoverCompleteTime )
- {
- gettimeofday ( failoverCompleteTime, 0 );
- }
+ connection.registerFailureCallback
+ ( boost::bind(&FailoverConnection::failover, this));
}