summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SemanticHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/SemanticHandler.h')
-rw-r--r--cpp/src/qpid/broker/SemanticHandler.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SemanticHandler.h b/cpp/src/qpid/broker/SemanticHandler.h
index eecf61466b..6003bbec0c 100644
--- a/cpp/src/qpid/broker/SemanticHandler.h
+++ b/cpp/src/qpid/broker/SemanticHandler.h
@@ -25,6 +25,7 @@
#include "BrokerChannel.h"
#include "Connection.h"
#include "qpid/framing/amqp_types.h"
+#include "qpid/framing/AMQP_ServerOperations.h"
#include "qpid/framing/FrameHandler.h"
#include "qpid/framing/SequenceNumber.h"
@@ -34,11 +35,18 @@ namespace broker {
class BrokerAdapter;
class framing::ChannelAdapter;
-class SemanticHandler : private framing::ChannelAdapter, public framing::FrameHandler {
+class SemanticHandler : private framing::ChannelAdapter,
+ public framing::FrameHandler,
+ public framing::AMQP_ServerOperations::ExecutionHandler
+{
Connection& connection;
Channel channel;
std::auto_ptr<BrokerAdapter> adapter;
- framing::SequenceNumber executionMark;
+ framing::Window incoming;
+ framing::Window outgoing;
+
+ void handleL4(boost::shared_ptr<qpid::framing::AMQMethodBody> method,
+ const qpid::framing::MethodContext& context);
//ChannelAdapter virtual methods:
void handleMethodInContext(boost::shared_ptr<qpid::framing::AMQMethodBody> method,
@@ -50,6 +58,10 @@ class SemanticHandler : private framing::ChannelAdapter, public framing::FrameHa
public:
SemanticHandler(framing::ChannelId id, Connection& c);
void handle(framing::AMQFrame& frame);
+
+ //execution class method handlers:
+ void complete(u_int32_t cumulativeExecutionMark);
+ void flush();
};
}}