summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SemanticHandler.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-09-21 18:26:37 +0000
committerAlan Conway <aconway@apache.org>2007-09-21 18:26:37 +0000
commit2f6d6ad7efd788b71204af67dff51b6233881e2e (patch)
treea3d123bc112d12dfcef341a312f418624c98e342 /cpp/src/qpid/broker/SemanticHandler.h
parent3b80f903b6174b4346d7d7b537d783f628fe28d6 (diff)
downloadqpid-python-2f6d6ad7efd788b71204af67dff51b6233881e2e.tar.gz
Split broker::Session into:
broker::SessionState: session info (uuid etc.) + handler chains. broker::SemanticState: session state for the SemanticHandler. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@578219 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SemanticHandler.h')
-rw-r--r--cpp/src/qpid/broker/SemanticHandler.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/SemanticHandler.h b/cpp/src/qpid/broker/SemanticHandler.h
index 4b3a05ba19..d6dbf878c9 100644
--- a/cpp/src/qpid/broker/SemanticHandler.h
+++ b/cpp/src/qpid/broker/SemanticHandler.h
@@ -44,13 +44,17 @@ class AMQHeaderBody;
namespace broker {
-class Session;
+class SessionState;
class SemanticHandler : public DeliveryAdapter,
- public framing::FrameHandler,
- public framing::AMQP_ServerOperations::ExecutionHandler,
- private HandlerImpl
+ public framing::FrameHandler,
+ public framing::AMQP_ServerOperations::ExecutionHandler
+
{
+ SemanticState state;
+ SessionState& session;
+ // FIXME aconway 2007-09-20: Why are these on the handler rather than the
+ // state?
IncomingExecutionContext incoming;
framing::Window outgoing;
sys::Mutex outLock;
@@ -69,8 +73,12 @@ class SemanticHandler : public DeliveryAdapter,
DeliveryId deliver(Message::shared_ptr& msg, DeliveryToken::shared_ptr token);
void redeliver(Message::shared_ptr& msg, DeliveryToken::shared_ptr token, DeliveryId tag);
+ framing::AMQP_ClientProxy& getProxy() { return session.getProxy(); }
+ Connection& getConnection() { return session.getConnection(); }
+ Broker& getBroker() { return session.getBroker(); }
+
public:
- SemanticHandler(Session& session);
+ SemanticHandler(SessionState& session);
//frame handler:
void handle(framing::AMQFrame& frame);