diff options
author | Andrew Stitcher <astitcher@apache.org> | 2009-08-04 19:04:43 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2009-08-04 19:04:43 +0000 |
commit | 010434f8f32489162ee4a697025994c9872b9b67 (patch) | |
tree | 5ee8ae0cd6c6511fa517fb7a6e22bd5186e4c3c9 /qpid/cpp | |
parent | 5a0f8ed80b85a38ec235683aba4275fc61824ea2 (diff) | |
download | qpid-python-010434f8f32489162ee4a697025994c9872b9b67.tar.gz |
Fixes for cluster code to compile with new stricter corosync header files
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@800921 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Cluster.cpp | 12 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Cluster.h | 10 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Cpg.cpp | 22 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Cpg.h | 28 |
4 files changed, 56 insertions, 16 deletions
diff --git a/qpid/cpp/src/qpid/cluster/Cluster.cpp b/qpid/cpp/src/qpid/cluster/Cluster.cpp index ca3a7fa257..5a0b3a3d5e 100644 --- a/qpid/cpp/src/qpid/cluster/Cluster.cpp +++ b/qpid/cpp/src/qpid/cluster/Cluster.cpp @@ -315,7 +315,7 @@ void Cluster::leave(Lock&) { // Deliver CPG message. void Cluster::deliver( cpg_handle_t /*handle*/, - cpg_name* /*group*/, + const cpg_name* /*group*/, uint32_t nodeid, uint32_t pid, void* msg, @@ -507,10 +507,10 @@ ostream& operator<<(ostream& o, const AddrList& a) { void Cluster::configChange ( cpg_handle_t /*handle*/, - cpg_name */*group*/, - cpg_address *current, int nCurrent, - cpg_address *left, int nLeft, - cpg_address */*joined*/, int /*nJoined*/) + const cpg_name */*group*/, + const cpg_address *current, int nCurrent, + const cpg_address *left, int nLeft, + const cpg_address */*joined*/, int /*nJoined*/) { Mutex::ScopedLock l(lock); if (state == INIT) { // First config change. @@ -521,7 +521,7 @@ void Cluster::configChange ( QPID_LOG(notice, *this << " membership change: " << AddrList(current, nCurrent) << AddrList(left, nLeft, "left: ")); std::string addresses; - for (cpg_address* p = current; p < current+nCurrent; ++p) + for (const cpg_address* p = current; p < current+nCurrent; ++p) addresses.append(MemberId(*p).str()); deliverEvent(Event::control(ClusterConfigChangeBody(ProtocolVersion(), addresses), self)); } diff --git a/qpid/cpp/src/qpid/cluster/Cluster.h b/qpid/cpp/src/qpid/cluster/Cluster.h index a95f2ab60e..35e95b3d3b 100644 --- a/qpid/cpp/src/qpid/cluster/Cluster.h +++ b/qpid/cpp/src/qpid/cluster/Cluster.h @@ -169,7 +169,7 @@ class Cluster : private Cpg::Handler, public management::Manageable { // == Called in CPG dispatch thread void deliver( // CPG deliver callback. cpg_handle_t /*handle*/, - struct cpg_name *group, + const struct cpg_name *group, uint32_t /*nodeid*/, uint32_t /*pid*/, void* /*msg*/, @@ -179,10 +179,10 @@ class Cluster : private Cpg::Handler, public management::Manageable { void configChange( // CPG config change callback. cpg_handle_t /*handle*/, - struct cpg_name */*group*/, - struct cpg_address */*members*/, int /*nMembers*/, - struct cpg_address */*left*/, int /*nLeft*/, - struct cpg_address */*joined*/, int /*nJoined*/ + const struct cpg_name */*group*/, + const struct cpg_address */*members*/, int /*nMembers*/, + const struct cpg_address */*left*/, int /*nLeft*/, + const struct cpg_address */*joined*/, int /*nJoined*/ ); // == Called in management threads. diff --git a/qpid/cpp/src/qpid/cluster/Cpg.cpp b/qpid/cpp/src/qpid/cluster/Cpg.cpp index 0878ae94b9..5dbf057d0f 100644 --- a/qpid/cpp/src/qpid/cluster/Cpg.cpp +++ b/qpid/cpp/src/qpid/cluster/Cpg.cpp @@ -49,6 +49,28 @@ Cpg* Cpg::cpgFromHandle(cpg_handle_t handle) { // Global callback functions. void Cpg::globalDeliver ( cpg_handle_t handle, + const struct cpg_name *group, + uint32_t nodeid, + uint32_t pid, + void* msg, + size_t msg_len) +{ + cpgFromHandle(handle)->handler.deliver(handle, group, nodeid, pid, msg, msg_len); +} + +void Cpg::globalConfigChange( + cpg_handle_t handle, + const struct cpg_name *group, + const struct cpg_address *members, size_t nMembers, + const struct cpg_address *left, size_t nLeft, + const struct cpg_address *joined, size_t nJoined +) +{ + cpgFromHandle(handle)->handler.configChange(handle, group, members, nMembers, left, nLeft, joined, nJoined); +} + +void Cpg::globalDeliver ( + cpg_handle_t handle, struct cpg_name *group, uint32_t nodeid, uint32_t pid, diff --git a/qpid/cpp/src/qpid/cluster/Cpg.h b/qpid/cpp/src/qpid/cluster/Cpg.h index 624721b560..0f5faa312e 100644 --- a/qpid/cpp/src/qpid/cluster/Cpg.h +++ b/qpid/cpp/src/qpid/cluster/Cpg.h @@ -68,7 +68,7 @@ class Cpg : public sys::IOHandle { virtual ~Handler() {}; virtual void deliver( cpg_handle_t /*handle*/, - struct cpg_name *group, + const struct cpg_name *group, uint32_t /*nodeid*/, uint32_t /*pid*/, void* /*msg*/, @@ -76,10 +76,10 @@ class Cpg : public sys::IOHandle { virtual void configChange( cpg_handle_t /*handle*/, - struct cpg_name */*group*/, - struct cpg_address */*members*/, int /*nMembers*/, - struct cpg_address */*left*/, int /*nLeft*/, - struct cpg_address */*joined*/, int /*nJoined*/ + const struct cpg_name */*group*/, + const struct cpg_address */*members*/, int /*nMembers*/, + const struct cpg_address */*left*/, int /*nLeft*/, + const struct cpg_address */*joined*/, int /*nJoined*/ ) = 0; }; @@ -122,6 +122,24 @@ class Cpg : public sys::IOHandle { static Cpg* cpgFromHandle(cpg_handle_t); + // New versions for corosync 1.0 and higher + static void globalDeliver( + cpg_handle_t handle, + const struct cpg_name *group, + uint32_t nodeid, + uint32_t pid, + void* msg, + size_t msg_len); + + static void globalConfigChange( + cpg_handle_t handle, + const struct cpg_name *group, + const struct cpg_address *members, size_t nMembers, + const struct cpg_address *left, size_t nLeft, + const struct cpg_address *joined, size_t nJoined + ); + + // Old versions for openais static void globalDeliver( cpg_handle_t handle, struct cpg_name *group, |