summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/ChannelAdapter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* AMQBodies are no longer allocated on the heap and passed with shared_ptr.Alan Conway2007-08-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | AMQFrame contains a boost::variant of AMQHeaderBody,AMQContentBody, AMQHeatbeatBody, and MethodHolder. A variant is basically a type-safe union, it can allocate any of the types in-place. MethodHolder contains a Blob, a less sophisticated kind of variant, which can contain any of the concrete method body types. Using variants for all the method types causes outrageous compile times and bloated library symbol names. Blob lacks some of the finer features of variant and needs help from generated code. For now both are hidden to the rest of the code base behind AMQFrame and MethodBody classes so if/when we decide to settle on just one "variant" type solution we can do so. This commit touches nearly 100 files, mostly converting method signatures with shared_ptr<FooBody> to FooBody* or FooBody&, and converting stored shared_ptr<AMQBody> to AMQFrame and share_ptr<AMQMethodBody> to MethodHolder. There is one outstanding client memory leak, which I will fix in my next commit. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@566822 13f79535-47bb-0310-9956-ffa450edef68
* Removed unused types: RequestId, ResponseId, MethodContext.Alan Conway2007-08-141-8/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565821 13f79535-47bb-0310-9956-ffa450edef68
* Deleted following files that are obsolete for 0-10:Alan Conway2007-08-141-41/+1
| | | | | | | | | | | | | | | | | | | src/qpid/framing/AMQRequestBody.cpp src/qpid/framing/AMQRequestBody.h src/qpid/framing/AMQResponseBody.cpp src/qpid/framing/AMQResponseBody.h src/qpid/framing/Correlator.cpp src/qpid/framing/Correlator.h src/qpid/framing/MethodContext.cpp src/qpid/framing/Requester.cpp src/qpid/framing/Requester.h src/qpid/framing/Responder.cpp src/qpid/framing/Responder.h Made changes to support their deletion. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@565770 13f79535-47bb-0310-9956-ffa450edef68
* * src/qpid/framing/ChannelAdapter.cpp: Use handler chainsAlan Conway2007-06-271-4/+14
| | | | | | | | | | | | | | | | | | | for in and outbound frames. * src/qpid/framing/InputHandler.h, OutputHandler.h, FrameHandler.h: All handlers pass AMQFrame& and have consistent memory management. Terminal OutputHandlers used to take ownership and delete frame, now they make a shallow copy instead. * src/qpid/framing/Handler.h, FrameHandler.h: Simplified. * src/qpid/client/ClientConnection.cpp: * src/qpid/broker/Connection.cpp: * src/qpid/broker/BrokerChannel.cpp: Update for ChannelAdapter changes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@551336 13f79535-47bb-0310-9956-ffa450edef68
* Moved src/ source code to src/qpid directory:Alan Conway2007-04-131-0/+109
- allows rhm package to build consistently against checked-out or installed qpid. - consistent correspondence between source paths and C++ namespaces. - consistent use of #include <qpid/foo> in source and by users. - allows header files to split over multiple directories, e.g. separating generated code, separating public API from private files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@528668 13f79535-47bb-0310-9956-ffa450edef68