diff options
author | Alan Conway <aconway@apache.org> | 2007-11-22 23:55:39 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-11-22 23:55:39 +0000 |
commit | cb070d9813e4232b4ec8409ca555b529ee5cee4b (patch) | |
tree | 7f8ed15de2c4f933db59b79b52222c70f2a2a240 /cpp/src/qpid/broker/MessageDelivery.cpp | |
parent | 4d16c847bd0868ac8ff3039ce22fcdae28606aeb (diff) | |
download | qpid-python-cb070d9813e4232b4ec8409ca555b529ee5cee4b.tar.gz |
Added framing::BodyHolder:
- Uniform holder for all body types, replaces MethodHolder.
- Uses in_place constructors to avoid avoid body copy.
framing::AMQFrame:
- Holds body in heap-allocated intrusive_ptr<BodyHolder>
- Uses in_place constructors to avoid avoid body copy.
Removed/downgraded to TODO many redundant FIXME comments.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597513 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/MessageDelivery.cpp')
-rw-r--r-- | cpp/src/qpid/broker/MessageDelivery.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/MessageDelivery.cpp b/cpp/src/qpid/broker/MessageDelivery.cpp index d7f8bceae1..886008c213 100644 --- a/cpp/src/qpid/broker/MessageDelivery.cpp +++ b/cpp/src/qpid/broker/MessageDelivery.cpp @@ -52,8 +52,9 @@ struct BasicGetToken : BaseToken AMQFrame sendMethod(intrusive_ptr<Message> msg, DeliveryId id) { - return AMQFrame(0, BasicGetOkBody( - ProtocolVersion(), id.getValue(), msg->getRedelivered(), msg->getExchangeName(), + return AMQFrame(in_place<BasicGetOkBody>( + ProtocolVersion(), id.getValue(), + msg->getRedelivered(), msg->getExchangeName(), msg->getRoutingKey(), queue->getMessageCount())); } }; @@ -68,9 +69,10 @@ struct BasicConsumeToken : BaseToken AMQFrame sendMethod(intrusive_ptr<Message> msg, DeliveryId id) { - return AMQFrame(0, BasicDeliverBody( + return AMQFrame(in_place<BasicDeliverBody>( ProtocolVersion(), consumer, id.getValue(), - msg->getRedelivered(), msg->getExchangeName(), msg->getRoutingKey())); + msg->getRedelivered(), msg->getExchangeName(), + msg->getRoutingKey())); } }; @@ -90,7 +92,9 @@ struct MessageDeliveryToken : BaseToken if (msg->getRedelivered()){ msg->getProperties<DeliveryProperties>()->setRedelivered(true); } - return AMQFrame(0, MessageTransferBody(ProtocolVersion(), 0, destination, confirmMode, acquireMode)); + return AMQFrame(in_place<MessageTransferBody>( + ProtocolVersion(), 0, destination, + confirmMode, acquireMode)); } }; |