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/EventFrame.cpp | |
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/EventFrame.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/EventFrame.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/cpp/src/qpid/cluster/EventFrame.cpp b/cpp/src/qpid/cluster/EventFrame.cpp index c1f96ad1b2..ba01c170dd 100644 --- a/cpp/src/qpid/cluster/EventFrame.cpp +++ b/cpp/src/qpid/cluster/EventFrame.cpp @@ -26,21 +26,14 @@ namespace cluster { EventFrame::EventFrame() : sequence(0) {} -EventFrame::EventFrame( - const boost::intrusive_ptr<Connection>& c, const Event& e, - const framing::AMQFrame& f, int rc -) : connection(c), member(e.getMemberId()), frame(f), - sequence(e.getSequence()), readCredit(rc) +EventFrame::EventFrame(const EventHeader& e, const framing::AMQFrame& f, int rc) + : connectionId(e.getConnectionId()), frame(f), sequence(e.getSequence()), readCredit(rc) { QPID_LATENCY_INIT(frame); } std::ostream& operator<<(std::ostream& o, const EventFrame& e) { - if (e.connection) - o << e.connection->getId(); - else - o << e.member; - return o << "/" << e.sequence << " " << e.frame << " rc=" << e.readCredit; + return o << e.connectionId << "/" << e.sequence << " " << e.frame << " rc=" << e.readCredit; } }} // namespace qpid::cluster |