From 9bf82c2c8c45a5228643a285f8db0b1061a69ad9 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 18 Jun 2008 17:53:30 +0000 Subject: Bring cluster code up to date. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@669236 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/Cluster.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'cpp/src/qpid/cluster/Cluster.cpp') diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp index 59353d7637..3007e9b1ab 100644 --- a/cpp/src/qpid/cluster/Cluster.cpp +++ b/cpp/src/qpid/cluster/Cluster.cpp @@ -71,28 +71,23 @@ struct ClusterDeliverHandler : public FrameHandler { void handle(AMQFrame& f) { next->handle(f); - Mutex::ScopedLock l(senderLock); - senderBusy=false; - senderLock.notify(); + // FIXME aconway 2008-06-16: solve overtaking problem - async completion of commands. + // Mutex::ScopedLock l(lock); + // senderBusy=false; + // senderLock.notify(); } }; -// FIXME aconway 2008-01-29: IList -void insert(FrameHandler::Chain& c, FrameHandler* h) { - h->next = c.next; - c.next = h; -} - struct SessionObserver : public broker::SessionManager::Observer { Cluster& cluster; SessionObserver(Cluster& c) : cluster(c) {} void opened(SessionState& s) { - // FIXME aconway 2008-01-29: IList for memory management. + // FIXME aconway 2008-06-16: clean up chaining and observers. ClusterSendHandler* sender=new ClusterSendHandler(s, cluster); ClusterDeliverHandler* deliverer=new ClusterDeliverHandler(*sender, cluster); - insert(s.in, deliverer); - insert(s.in, sender); + s.getInChain().insert(deliverer); + s.getOutChain().insert(sender); } }; } -- cgit v1.2.1