summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ExecutionHandler.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-10-01 10:24:25 +0000
committerGordon Sim <gsim@apache.org>2007-10-01 10:24:25 +0000
commit01647c7581b2a9549555c2c2f306c8b072b571a2 (patch)
treebfe73f8ddb1b606f9f7b5f89db7ae1e791913c2d /cpp/src/qpid/client/ExecutionHandler.h
parentd7bc99dfca05ce5eb8029282c7d09776af2a0f2c (diff)
downloadqpid-python-01647c7581b2a9549555c2c2f306c8b072b571a2.tar.gz
Make ExecutionHandler threadsafe for calls that can be made by application threads.
Added generic listener for completion changes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@580915 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/ExecutionHandler.h')
-rw-r--r--cpp/src/qpid/client/ExecutionHandler.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/ExecutionHandler.h b/cpp/src/qpid/client/ExecutionHandler.h
index 427c39b61f..7205983cf7 100644
--- a/cpp/src/qpid/client/ExecutionHandler.h
+++ b/cpp/src/qpid/client/ExecutionHandler.h
@@ -27,6 +27,7 @@
#include "qpid/framing/FrameSet.h"
#include "qpid/framing/MethodContent.h"
#include "qpid/framing/SequenceNumber.h"
+#include "qpid/sys/Mutex.h"
#include "ChainableFrameHandler.h"
#include "CompletionTracker.h"
#include "Correlator.h"
@@ -49,8 +50,10 @@ class ExecutionHandler :
Correlator correlation;
CompletionTracker completion;
Demux demux;
+ sys::Mutex lock;
framing::ProtocolVersion version;
uint64_t maxFrameSize;
+ boost::function<void()> completionListener;
void complete(uint32_t mark, const framing::SequenceNumberSet& range);
void flush();
@@ -90,6 +93,8 @@ public:
Correlator& getCorrelator() { return correlation; }
CompletionTracker& getCompletionTracker() { return completion; }
Demux& getDemux() { return demux; }
+
+ void setCompletionListener(boost::function<void()>);
};
}}