diff options
| author | Alan Conway <aconway@apache.org> | 2008-09-25 12:30:14 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2008-09-25 12:30:14 +0000 |
| commit | 48f511ecb4a772f2cf6048f9b5ddbf9a4e3f9587 (patch) | |
| tree | 7b75738562cf97befd775868670c336995ba0cd1 /cpp/src/qpid/broker | |
| parent | cd78f5c69d70b43e5bf82fa9125eb876bc3bbc42 (diff) | |
| download | qpid-python-48f511ecb4a772f2cf6048f9b5ddbf9a4e3f9587.tar.gz | |
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
Diffstat (limited to 'cpp/src/qpid/broker')
| -rw-r--r-- | cpp/src/qpid/broker/SessionState.cpp | 34 |
1 files changed, 9 insertions, 25 deletions
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<Message> 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"); } } |
