diff options
| author | Alan Conway <aconway@apache.org> | 2009-02-03 21:28:14 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2009-02-03 21:28:14 +0000 |
| commit | 729e9ce65125154cfdd2877abc8f7a901ad7caa2 (patch) | |
| tree | 433e563454062f0ab10705cb1913b0de53558168 /cpp/src/qpid/cluster/Connection.h | |
| parent | 779753f10d0ff1295d1282e367a3973f283ab34f (diff) | |
| download | qpid-python-729e9ce65125154cfdd2877abc8f7a901ad7caa2.tar.gz | |
Fix for race conditions in cluster join.
- ConnectionDecoder: separated from Connection.
- cluster/PollableQueue: stop processing frames if PollableQueue is stopped.
- move state checks in event-queue handler to frame-queue handler.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740459 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Connection.h')
| -rw-r--r-- | cpp/src/qpid/cluster/Connection.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/Connection.h b/cpp/src/qpid/cluster/Connection.h index e22ff05c08..160855dc2d 100644 --- a/cpp/src/qpid/cluster/Connection.h +++ b/cpp/src/qpid/cluster/Connection.h @@ -72,9 +72,11 @@ class Connection : ConnectionId getId() const { return self; } broker::Connection& getBrokerConnection() { return connection; } - /** True for connections from direct clients of local broker */ + /** Local connections may be clients or catch-up connections */ bool isLocal() const; + bool isLocalClient() const { return isLocal() && !isCatchUp(); } + /** True for connections that are shadowing remote broker connections */ bool isShadow() const; @@ -101,7 +103,6 @@ class Connection : size_t decode(const char* buffer, size_t size); // Called for data delivered from the cluster. - void deliveredEvent(const Event&, PollableFrameQueue&); void deliveredFrame(const EventFrame&); void consumerState(const std::string& name, bool blocked, bool notifyEnabled); @@ -166,7 +167,6 @@ class Connection : WriteEstimate writeEstimate; OutputInterceptor output; framing::FrameDecoder localDecoder; - framing::FrameDecoder mcastDecoder; broker::Connection connection; framing::SequenceNumber deliverSeq; framing::ChannelId currentChannel; |
