diff options
author | Alan Conway <aconway@apache.org> | 2011-09-06 21:46:56 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2011-09-06 21:46:56 +0000 |
commit | 091189ed0df268e9e5715efbfc495ee56e8ee9fd (patch) | |
tree | 7b6d39e0ea193180cbb1a14f7c5e37dc566ef417 | |
parent | b9ec1a2c27438bf1deeb550e013920bf112caef8 (diff) | |
download | qpid-python-091189ed0df268e9e5715efbfc495ee56e8ee9fd.tar.gz |
QPID-2920: pass configuration changes to handlers.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qpid-2920-1@1165884 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/cluster/exp/EventHandler.cpp | 4 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/exp/HandlerBase.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/cluster/exp/EventHandler.cpp b/qpid/cpp/src/qpid/cluster/exp/EventHandler.cpp index c0e3e5fc42..2138004380 100644 --- a/qpid/cpp/src/qpid/cluster/exp/EventHandler.cpp +++ b/qpid/cpp/src/qpid/cluster/exp/EventHandler.cpp @@ -118,6 +118,10 @@ void EventHandler::configChange ( QPID_LOG(notice, "cluster: new membership: " << PrintAddrs(members, nMembers)); QPID_LOG_IF(notice, nLeft, "cluster: members left: " << PrintAddrs(left, nLeft)); QPID_LOG_IF(notice, nJoined, "cluster: members joined: " << PrintAddrs(joined, nJoined)); + for (Handlers::iterator i = handlers.begin(); i != handlers.end(); ++i) { + for (int l = 0; l < nLeft; ++l) (*i)->left(left[l]); + for (int j = 0; j < nJoined; ++j) (*i)->joined(joined[j]); + } } }} // namespace qpid::cluster diff --git a/qpid/cpp/src/qpid/cluster/exp/HandlerBase.h b/qpid/cpp/src/qpid/cluster/exp/HandlerBase.h index 455375be5b..b153f56a01 100644 --- a/qpid/cpp/src/qpid/cluster/exp/HandlerBase.h +++ b/qpid/cpp/src/qpid/cluster/exp/HandlerBase.h @@ -42,6 +42,8 @@ class HandlerBase virtual ~HandlerBase(); virtual bool invoke(const framing::AMQBody& body) = 0; + virtual void left(const MemberId&) {} + virtual void joined(const MemberId&) {} protected: EventHandler& eventHandler; |