summaryrefslogtreecommitdiff
path: root/cpp/src/tests/InProcessBroker.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-06-27 21:19:14 +0000
committerAlan Conway <aconway@apache.org>2007-06-27 21:19:14 +0000
commit0efcf2c5c91f4927ccc00ad1cf391c2f964cc2e1 (patch)
treea9318ac4787cf588dd1329c2e557d8f870be20cc /cpp/src/tests/InProcessBroker.h
parent548abd065f91bc1f238ac98c24edf410edf10356 (diff)
downloadqpid-python-0efcf2c5c91f4927ccc00ad1cf391c2f964cc2e1.tar.gz
* src/qpid/framing/ChannelAdapter.cpp: Use handler chains
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
Diffstat (limited to 'cpp/src/tests/InProcessBroker.h')
-rw-r--r--cpp/src/tests/InProcessBroker.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/cpp/src/tests/InProcessBroker.h b/cpp/src/tests/InProcessBroker.h
index 96f8ce72cf..8628bde431 100644
--- a/cpp/src/tests/InProcessBroker.h
+++ b/cpp/src/tests/InProcessBroker.h
@@ -48,15 +48,15 @@ class InProcessBroker : public client::Connector {
/** A frame tagged with the sender */
struct TaggedFrame {
- TaggedFrame(Sender e, framing::AMQFrame* f) : frame(f), sender(e) {}
+ TaggedFrame(Sender e, framing::AMQFrame& f) : frame(f), sender(e) {}
bool fromBroker() const { return sender == BROKER; }
bool fromClient() const { return sender == CLIENT; }
template <class MethodType>
MethodType* asMethod() {
- return dynamic_cast<MethodType*>(frame->getBody().get());
+ return dynamic_cast<MethodType*>(frame.getBody().get());
}
- shared_ptr<framing::AMQFrame> frame;
+ framing::AMQFrame frame;
Sender sender;
};
@@ -85,7 +85,7 @@ class InProcessBroker : public client::Connector {
}
/** Called by client to send a frame */
- void send(framing::AMQFrame* frame) {
+ void send(framing::AMQFrame& frame) {
clientOut.send(frame);
}
@@ -100,7 +100,7 @@ class InProcessBroker : public client::Connector {
framing::InputHandler* ih=0
) : sender(sender_), conversation(conversation_), in(ih) {}
- void send(framing::AMQFrame* frame) {
+ void send(framing::AMQFrame& frame) {
conversation.push_back(TaggedFrame(sender, frame));
in->received(frame);
}
@@ -122,7 +122,7 @@ class InProcessBroker : public client::Connector {
std::ostream& operator<<(
std::ostream& out, const InProcessBroker::TaggedFrame& tf)
{
- return out << (tf.fromBroker()? "BROKER: ":"CLIENT: ") << *tf.frame;
+ return out << (tf.fromBroker()? "BROKER: ":"CLIENT: ") << tf.frame;
}
std::ostream& operator<<(