summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionHandler.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-04-22 20:14:15 +0000
committerGordon Sim <gsim@apache.org>2008-04-22 20:14:15 +0000
commit1852df5d00eda8d25b7c11a01144fca629fc6427 (patch)
tree44162d68c73cc55f01b9818aa1333a0187916823 /cpp/src/qpid/broker/SessionHandler.cpp
parent7b977ed726d89a5a28f6113a0252c8ccc17ed64b (diff)
downloadqpid-python-1852df5d00eda8d25b7c11a01144fca629fc6427.tar.gz
Moved federation to final 0-10 codepath
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650635 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionHandler.cpp')
-rw-r--r--cpp/src/qpid/broker/SessionHandler.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SessionHandler.cpp b/cpp/src/qpid/broker/SessionHandler.cpp
index 8310980800..d5caf789c0 100644
--- a/cpp/src/qpid/broker/SessionHandler.cpp
+++ b/cpp/src/qpid/broker/SessionHandler.cpp
@@ -83,7 +83,7 @@ void SessionHandler::handleIn(AMQFrame& f) {
}
bool SessionHandler::isValid(AMQMethodBody* m) {
- return session.get() || m->isA<SessionAttachBody>();
+ return session.get() || m->isA<SessionAttachBody>() || m->isA<SessionAttachedBody>();
}
void SessionHandler::handleOut(AMQFrame& f) {
@@ -134,10 +134,13 @@ void SessionHandler::attach(const std::string& _name, bool /*force*/)
peerSession.commandPoint(session->nextOut, 0);
}
-void SessionHandler::attached(const std::string& /*name*/)
+void SessionHandler::attached(const std::string& _name)
{
+ name = _name;//TODO: this should be used in conjunction with
+ //userid for connection as sessions identity
std::auto_ptr<SessionState> state(connection.broker.getSessionManager().open(*this, 0));
session.reset(state.release());
+ peerSession.commandPoint(session->nextOut, 0);
}
void SessionHandler::detach(const std::string& name)