summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp')
-rw-r--r--qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp b/qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp
index d9fce02d75..16f5a90a7c 100644
--- a/qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp
+++ b/qpid/cpp/src/qpid/cluster/exp/MessageHandler.cpp
@@ -39,9 +39,10 @@ namespace qpid {
namespace cluster {
using namespace broker;
-MessageHandler::MessageHandler(EventHandler& e) :
+MessageHandler::MessageHandler(EventHandler& e, Core& c) :
HandlerBase(e),
- broker(e.getCore().getBroker())
+ broker(c.getBroker()),
+ core(c)
{}
bool MessageHandler::invoke(const framing::AMQBody& body) {
@@ -49,7 +50,7 @@ bool MessageHandler::invoke(const framing::AMQBody& body) {
}
void MessageHandler::routing(RoutingId routingId, const std::string& message) {
- if (sender() == self()) return; // Already in getCore().getRoutingMap()
+ if (sender() == self()) return; // Already in core.getRoutingMap()
boost::intrusive_ptr<Message> msg = new Message;
// FIXME aconway 2010-10-28: decode message in bounded-size buffers.
framing::Buffer buf(const_cast<char*>(&message[0]), message.size());
@@ -70,7 +71,7 @@ void MessageHandler::enqueue(RoutingId routingId, const std::string& q) {
boost::shared_ptr<Queue> queue = findQueue(q, "Cluster enqueue failed");
boost::intrusive_ptr<Message> msg;
if (sender() == self())
- msg = eventHandler.getCore().getRoutingMap().get(routingId);
+ msg = core.getRoutingMap().get(routingId);
else
msg = memberMap[sender()].routingMap[routingId];
if (!msg) throw Exception(QPID_MSG("Cluster enqueue on " << q
@@ -81,7 +82,7 @@ void MessageHandler::enqueue(RoutingId routingId, const std::string& q) {
void MessageHandler::routed(RoutingId routingId) {
if (sender() == self())
- eventHandler.getCore().getRoutingMap().erase(routingId);
+ core.getRoutingMap().erase(routingId);
else
memberMap[sender()].routingMap.erase(routingId);
}