summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Bridge.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-04-22 20:14:15 +0000
committerGordon Sim <gsim@apache.org>2008-04-22 20:14:15 +0000
commit1852df5d00eda8d25b7c11a01144fca629fc6427 (patch)
tree44162d68c73cc55f01b9818aa1333a0187916823 /cpp/src/qpid/broker/Bridge.cpp
parent7b977ed726d89a5a28f6113a0252c8ccc17ed64b (diff)
downloadqpid-python-1852df5d00eda8d25b7c11a01144fca629fc6427.tar.gz
Moved federation to final 0-10 codepath
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650635 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.cpp')
-rw-r--r--cpp/src/qpid/broker/Bridge.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp
index 32819380de..598f428ad2 100644
--- a/cpp/src/qpid/broker/Bridge.cpp
+++ b/cpp/src/qpid/broker/Bridge.cpp
@@ -34,7 +34,7 @@ namespace broker {
Bridge::Bridge(framing::ChannelId id, ConnectionState& c, CancellationListener l, const management::ArgsLinkBridge& _args) :
args(_args), channel(id, &(c.getOutput())), peer(channel),
mgmtObject(new management::Bridge(this, &c, id, args.i_src, args.i_dest, args.i_key, args.i_src_is_queue, args.i_src_is_local)),
- connection(c), listener(l)
+ connection(c), listener(l), name(Uuid(true).str())
{
management::ManagementAgent::getAgent()->addObject(mgmtObject);
}
@@ -46,24 +46,24 @@ Bridge::~Bridge()
void Bridge::create()
{
- framing::AMQP_ServerProxy::Session session(channel);
- session.open(0);
+ framing::AMQP_ServerProxy::Session010 session(channel);
+ session.attach(name, false);
if (args.i_src_is_local) {
//TODO: handle 'push' here... simplest way is to create frames and pass them to Connection::received()
} else {
if (args.i_src_is_queue) {
- peer.getMessage().subscribe(0, args.i_src, args.i_dest, false, 0, 0, false, FieldTable());
- peer.getMessage().flow(args.i_dest, 0, 0xFFFFFFFF);
- peer.getMessage().flow(args.i_dest, 1, 0xFFFFFFFF);
+ peer.getMessage010().subscribe(args.i_src, args.i_dest, 0, 0, false, "", 0, FieldTable());
+ peer.getMessage010().flow(args.i_dest, 0, 0xFFFFFFFF);
+ peer.getMessage010().flow(args.i_dest, 1, 0xFFFFFFFF);
} else {
string queue = "bridge_queue_";
queue += Uuid(true).str();
- peer.getQueue().declare(0, queue, "", false, false, true, true, FieldTable());
- peer.getQueue().bind(0, queue, args.i_src, args.i_key, FieldTable());
- peer.getMessage().subscribe(0, queue, args.i_dest, false, 0, 0, false, FieldTable());
- peer.getMessage().flow(args.i_dest, 0, 0xFFFFFFFF);
- peer.getMessage().flow(args.i_dest, 1, 0xFFFFFFFF);
+ peer.getQueue010().declare(queue, "", false, false, true, true, FieldTable());
+ peer.getExchange010().bind(queue, args.i_src, args.i_key, FieldTable());
+ peer.getMessage010().subscribe(queue, args.i_dest, 0, 0, false, "", 0, FieldTable());
+ peer.getMessage010().flow(args.i_dest, 0, 0xFFFFFFFF);
+ peer.getMessage010().flow(args.i_dest, 1, 0xFFFFFFFF);
}
}
@@ -71,8 +71,8 @@ void Bridge::create()
void Bridge::cancel()
{
- peer.getMessage().cancel(args.i_dest);
- peer.getSession().close();
+ peer.getMessage010().cancel(args.i_dest);
+ peer.getSession010().detach(name);
}
management::ManagementObject::shared_ptr Bridge::GetManagementObject (void) const