From 48f511ecb4a772f2cf6048f9b5ddbf9a4e3f9587 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 25 Sep 2008 12:30:14 +0000 Subject: Enabled management, add cluster shutdown command. Remove dead Handler methods in Cluster. Fixed SessionException handling in broker, was throwing some SessionExceptions as "unknown exception" git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@698945 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/SessionState.cpp | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) (limited to 'cpp/src/qpid/broker') diff --git a/cpp/src/qpid/broker/SessionState.cpp b/cpp/src/qpid/broker/SessionState.cpp index 6358bd2145..18eb1b8466 100644 --- a/cpp/src/qpid/broker/SessionState.cpp +++ b/cpp/src/qpid/broker/SessionState.cpp @@ -212,31 +212,15 @@ void SessionState::enqueued(boost::intrusive_ptr msg) void SessionState::handleIn(AMQFrame& frame) { SequenceNumber commandId = receiverGetCurrent(); - try { - //TODO: make command handling more uniform, regardless of whether - //commands carry content. - AMQMethodBody* m = frame.getMethod(); - if (m == 0 || m->isContentBearing()) { - handleContent(frame, commandId); - } else if (frame.getBof() && frame.getEof()) { - handleCommand(frame.getMethod(), commandId); - } else { - throw InternalErrorException("Cannot handle multi-frame command segments yet"); - } - } catch(const SessionException& e) { - //TODO: better implementation of new exception handling mechanism - - //0-10 final changes the types of exceptions, 'model layer' - //exceptions will all be session exceptions regardless of - //current channel/connection classification - - AMQMethodBody* m = frame.getMethod(); - if (m) { - getProxy().getExecution().exception(e.code, commandId, m->amqpClassId(), m->amqpMethodId(), 0, e.what(), FieldTable()); - } else { - getProxy().getExecution().exception(e.code, commandId, 0, 0, 0, e.what(), FieldTable()); - } - handler->sendDetach(); + //TODO: make command handling more uniform, regardless of whether + //commands carry content. + AMQMethodBody* m = frame.getMethod(); + if (m == 0 || m->isContentBearing()) { + handleContent(frame, commandId); + } else if (frame.getBof() && frame.getEof()) { + handleCommand(frame.getMethod(), commandId); + } else { + throw InternalErrorException("Cannot handle multi-frame command segments yet"); } } -- cgit v1.2.1