diff options
author | Alan Conway <aconway@apache.org> | 2011-02-09 18:46:23 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2011-02-09 18:46:23 +0000 |
commit | 70ffbc6ea611722f31e742b11f4ed547dec8d713 (patch) | |
tree | d9bb874c5a23522812368b3b28e7fc6c02571054 | |
parent | 2037c65282c85a25bbf4fc7bcbcef7ce43ff3ed7 (diff) | |
download | qpid-python-70ffbc6ea611722f31e742b11f4ed547dec8d713.tar.gz |
Added design note comment to qpid/cpp/src/qpid/cluster/ClusterTimer.cpp
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069029 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/cluster/ClusterTimer.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp b/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp index baeaafb478..f6e1c7a849 100644 --- a/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp +++ b/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp @@ -5,7 +5,7 @@ * 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 + * "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 @@ -33,6 +33,25 @@ using std::max; using sys::Timer; using sys::TimerTask; +// +// Note on use of Broker::getTimer() rather than getClusterTime in broker code. +// The following uses of getTimer() are cluster safe: +// +// LinkRegistry: maintenance visits in timer can call Bridge::create/cancel +// but these don't modify any management state. +// +// broker::Connection: +// - Heartbeats use ClusterOrderOutput to ensure consistency +// - timeout: aborts connection in timer, cluster does an orderly connection close. +// +// SessionState: scheduledCredit - uses ClusterOrderProxy +// Broker::queueCleaner: cluster implements ExpiryPolicy for consistent expiry. +// +// Broker::dtxManager: dtx disabled with cluster. +// +// requestIOProcessing: called in doOutput. +// + ClusterTimer::ClusterTimer(Cluster& c) : cluster(c) { // Allow more generous overrun threshold with cluster as we |