diff options
| author | Alan Conway <aconway@apache.org> | 2007-09-21 18:26:37 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2007-09-21 18:26:37 +0000 |
| commit | 2f6d6ad7efd788b71204af67dff51b6233881e2e (patch) | |
| tree | a3d123bc112d12dfcef341a312f418624c98e342 /cpp/src/qpid/broker/Connection.cpp | |
| parent | 3b80f903b6174b4346d7d7b537d783f628fe28d6 (diff) | |
| download | qpid-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/Connection.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Connection.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp index ec6fd6ece7..b1b8abe4fd 100644 --- a/cpp/src/qpid/broker/Connection.cpp +++ b/cpp/src/qpid/broker/Connection.cpp @@ -23,7 +23,7 @@ #include <assert.h> #include "Connection.h" -#include "Session.h" +#include "SessionState.h" #include "qpid/framing/AMQP_ClientProxy.h" #include "BrokerAdapter.h" #include "SemanticHandler.h" @@ -52,8 +52,7 @@ void Connection::received(framing::AMQFrame& frame){ if (frame.getChannel() == 0) { adapter.handle(frame); } else { - SessionHandler sa = getChannel(frame.getChannel()); - sa.in(frame); + getChannel(frame.getChannel()).in(frame); } } @@ -94,7 +93,7 @@ void Connection::closeChannel(uint16_t id) { if (i != channels.end()) channels.erase(i); } -SessionHandler Connection::getChannel(ChannelId id) { +SessionHandler& Connection::getChannel(ChannelId id) { boost::optional<SessionHandler>& ch = channels[id]; if (!ch) { ch = boost::in_place(boost::ref(*this), id); |
