diff options
| author | Alan Conway <aconway@apache.org> | 2007-08-29 23:27:40 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2007-08-29 23:27:40 +0000 |
| commit | e183227707d150b1f42e750df0e90cd7dac8744e (patch) | |
| tree | a9156083c1890852c2d4013d4a856f9f28762946 /cpp/src/qpid/framing/OutputHandler.h | |
| parent | 7422e57391a89bc2493cba18ca2ef0a84fec7baa (diff) | |
| download | qpid-python-e183227707d150b1f42e750df0e90cd7dac8744e.tar.gz | |
* src/qpid/broker/Session.h, .cpp: Session holds all state of a session including
handlers created for that session. Session is not directly associated with a channel.
* src/qpid/broker/SessionAdapter.h, .cpp: SessionAdapter is bound to a channel
managed by the Connection. It can be attached to and detatched from a Session.
* src/qpid/broker/Connection.cpp, .h: Use SessionAdapter.
* src/qpid/framing/Handler.h: Removed use of shared_ptr. Handlers belong
either to a Session or a Connection and are destroyed with it.
* src/qpid/framing/InputHandler.h, OutputHandler.h: Both now inherit from
FrameHandler and can be used as FrameHandlers. Intermediate step to removing
them entirely.
* src/qpid/broker/ConnectionAdapter.h:
* src/qpid/client/ConnectionHandler.h:
* src/qpid/framing/ChannelAdapter.cpp, .h:
Minor changes required by Handler changes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@570982 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing/OutputHandler.h')
| -rw-r--r-- | cpp/src/qpid/framing/OutputHandler.h | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/cpp/src/qpid/framing/OutputHandler.h b/cpp/src/qpid/framing/OutputHandler.h index 89917ac3df..925ff88b12 100644 --- a/cpp/src/qpid/framing/OutputHandler.h +++ b/cpp/src/qpid/framing/OutputHandler.h @@ -27,24 +27,12 @@ namespace qpid { namespace framing { -class OutputHandler : private boost::noncopyable { +// FIXME aconway 2007-08-29: Replace with FrameHandler. +class OutputHandler : public FrameHandler { public: virtual ~OutputHandler() {} virtual void send(AMQFrame&) = 0; -}; - -/** OutputHandler that delegates to a FrameHandler */ -struct FrameHandlerOutputHandler : public OutputHandler { - FrameHandlerOutputHandler(shared_ptr<FrameHandler> h) : handler(h) {} - void received(AMQFrame& frame) { handler->handle(frame); } - FrameHandler::Chain handler; -}; - -/** FrameHandler that delegates to an OutputHandler */ -struct OutputHandlerFrameHandler : public FrameHandler { - OutputHandlerFrameHandler(OutputHandler& out_) : out(out_) {} - void handle(ParamType frame) { out.send(frame); } - OutputHandler& out; + void handle(AMQFrame& f) { send(f); } }; |
