summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Bridge.h
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-10-10 19:24:40 +0000
committerTed Ross <tross@apache.org>2008-10-10 19:24:40 +0000
commit792e46cad9a978c0d297c245772e57c0759cec31 (patch)
treebb227f31c63eac3e9e27c951917c129c4e1b682f /cpp/src/qpid/broker/Bridge.h
parentf1935bda5aa75a139330a4b1e976c99536c6c04f (diff)
downloadqpid-python-792e46cad9a978c0d297c245772e57c0759cec31.tar.gz
QPID-1349 - Push routing for federation (includes hook for dynamic routing)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703561 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.h')
-rw-r--r--cpp/src/qpid/broker/Bridge.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Bridge.h b/cpp/src/qpid/broker/Bridge.h
index 5ca73e4004..057bc68fe2 100644
--- a/cpp/src/qpid/broker/Bridge.h
+++ b/cpp/src/qpid/broker/Bridge.h
@@ -25,6 +25,7 @@
#include "qpid/framing/AMQP_ServerProxy.h"
#include "qpid/framing/ChannelHandler.h"
#include "qpid/framing/Buffer.h"
+#include "qpid/framing/FrameHandler.h"
#include "qpid/management/Manageable.h"
#include "qmf/org/apache/qpid/broker/ArgsLinkBridge.h"
#include "qmf/org/apache/qpid/broker/Bridge.h"
@@ -35,6 +36,7 @@
namespace qpid {
namespace broker {
+class Connection;
class ConnectionState;
class Link;
class LinkRegistry;
@@ -68,6 +70,13 @@ public:
static Bridge::shared_ptr decode(LinkRegistry& links, framing::Buffer& buffer);
private:
+ struct PushHandler : framing::FrameHandler {
+ PushHandler(Connection* c) { conn = c; }
+ void handle(framing::AMQFrame& frame);
+ Connection* conn;
+ };
+
+ std::auto_ptr<PushHandler> pushHandler;
std::auto_ptr<framing::ChannelHandler> channelHandler;
std::auto_ptr<framing::AMQP_ServerProxy::Session> session;
std::auto_ptr<framing::AMQP_ServerProxy> peer;