diff options
author | Alan Conway <aconway@apache.org> | 2008-07-17 02:06:50 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-07-17 02:06:50 +0000 |
commit | 37103322e9fd5889bc2d412b64bb21eb8743391b (patch) | |
tree | 8d7c3ece2071d0b2ec4658f6f149322d3e5337fa /cpp/src/qpid/broker/Connection.cpp | |
parent | e65b0086a2924ff04640b1350393a816249d01b3 (diff) | |
download | qpid-python-37103322e9fd5889bc2d412b64bb21eb8743391b.tar.gz |
Enable dequeue for prototype cluster
- qpid/broker/SemanticState.cpp: moved doOutput into write idle callback.
- qpid/broker/Connection.cpp: make doOutput an intercept point.
- qpid/cluster/*: intercept doOutput to serialize output in cluster thread.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677486 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Connection.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Connection.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp index e77911bd10..2525fed864 100644 --- a/cpp/src/qpid/broker/Connection.cpp +++ b/cpp/src/qpid/broker/Connection.cpp @@ -51,6 +51,7 @@ Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std ConnectionState(out_, broker_), receivedFn(boost::bind(&Connection::receivedImpl, this, _1)), closedFn(boost::bind(&Connection::closedImpl, this)), + doOutputFn(boost::bind(&Connection::doOutputImpl, this)), adapter(*this, isLink_), isLink(isLink_), mgmtClosing(false), @@ -192,8 +193,9 @@ void Connection::closedImpl(){ // Physically closed, suspend open sessions. } } -bool Connection::doOutput() -{ +bool Connection::doOutput() { return doOutputFn(); } + +bool Connection::doOutputImpl() { try{ if (ioCallback) ioCallback(); // Lend the IO thread for management processing |