diff options
author | Alan Conway <aconway@apache.org> | 2011-09-06 21:46:50 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2011-09-06 21:46:50 +0000 |
commit | b9ec1a2c27438bf1deeb550e013920bf112caef8 (patch) | |
tree | 722447a047bab383c6f1a2c0962f3ccf8a07859c | |
parent | 8f0971791a2ecac29d0177172b1f37bb6fd1f89f (diff) | |
download | qpid-python-b9ec1a2c27438bf1deeb550e013920bf112caef8.tar.gz |
QPID-2920: add conveniece function to multicast AMQBodys directly.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qpid-2920-1@1165883 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp | 8 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/exp/Multicaster.h | 7 |
2 files changed, 14 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp b/qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp index cf8703ca59..427c25093a 100644 --- a/qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp +++ b/qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp @@ -22,6 +22,9 @@ #include "Multicaster.h" #include "qpid/cluster/Cpg.h" #include "qpid/log/Statement.h" +#include "qpid/framing/AMQBody.h" +#include "qpid/framing/AMQDataBlock.h" +#include "qpid/framing/AMQFrame.h" namespace qpid { namespace cluster { @@ -55,6 +58,11 @@ void Multicaster::mcast(const framing::AMQDataBlock& data) { queue.push(bufRef); } +void Multicaster::mcast(const framing::AMQBody& body) { + framing::AMQFrame f(body); + mcast(f); +} + Multicaster::PollableEventQueue::Batch::const_iterator Multicaster::sendMcast(const PollableEventQueue::Batch& buffers) { try { diff --git a/qpid/cpp/src/qpid/cluster/exp/Multicaster.h b/qpid/cpp/src/qpid/cluster/exp/Multicaster.h index a363eb5a0b..5d6885a02b 100644 --- a/qpid/cpp/src/qpid/cluster/exp/Multicaster.h +++ b/qpid/cpp/src/qpid/cluster/exp/Multicaster.h @@ -23,12 +23,16 @@ */ #include "BufferFactory.h" -#include "qpid/framing/AMQDataBlock.h" #include "qpid/sys/PollableQueue.h" #include <sys/uio.h> // For struct iovec namespace qpid { +namespace framing { +class AMQDataBlock; +class AMQBody; +} + namespace sys { class Poller; } @@ -50,6 +54,7 @@ class Multicaster /** Multicast an event */ void mcast(const framing::AMQDataBlock&); + void mcast(const framing::AMQBody&); private: typedef sys::PollableQueue<BufferRef> PollableEventQueue; |