From b9ec1a2c27438bf1deeb550e013920bf112caef8 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 6 Sep 2011 21:46:50 +0000 Subject: 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 --- qpid/cpp/src/qpid/cluster/exp/Multicaster.cpp | 8 ++++++++ qpid/cpp/src/qpid/cluster/exp/Multicaster.h | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) 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 // 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 PollableEventQueue; -- cgit v1.2.1