summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Connection.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-02-03 21:28:14 +0000
committerAlan Conway <aconway@apache.org>2009-02-03 21:28:14 +0000
commit729e9ce65125154cfdd2877abc8f7a901ad7caa2 (patch)
tree433e563454062f0ab10705cb1913b0de53558168 /cpp/src/qpid/cluster/Connection.h
parent779753f10d0ff1295d1282e367a3973f283ab34f (diff)
downloadqpid-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.h6
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;