summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/BrokerMessageMessage.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-07-27 15:44:52 +0000
committerGordon Sim <gsim@apache.org>2007-07-27 15:44:52 +0000
commit80406d0fb680239a0141b81fb0b9f20d20c9b1e1 (patch)
tree13677bf773bf25db03144aa72c97a49d2810240d /cpp/src/qpid/broker/BrokerMessageMessage.cpp
parenta9232d5a02a19f093f212cb0b76772a20b45cb1b (diff)
downloadqpid-python-80406d0fb680239a0141b81fb0b9f20d20c9b1e1.tar.gz
Use execution layer to acknowledge messages.
Turn off 0-9 framing of requests and responses. Some refactoring around message delivery. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560285 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/BrokerMessageMessage.cpp')
-rw-r--r--cpp/src/qpid/broker/BrokerMessageMessage.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/cpp/src/qpid/broker/BrokerMessageMessage.cpp b/cpp/src/qpid/broker/BrokerMessageMessage.cpp
index efa295e44f..8e8eaf23f0 100644
--- a/cpp/src/qpid/broker/BrokerMessageMessage.cpp
+++ b/cpp/src/qpid/broker/BrokerMessageMessage.cpp
@@ -34,10 +34,18 @@
#include <algorithm>
using namespace std;
+using namespace boost;
using namespace qpid::framing;
namespace qpid {
namespace broker {
+
+struct MessageDeliveryToken : public DeliveryToken
+{
+ const std::string destination;
+
+ MessageDeliveryToken(const std::string& d) : destination(d) {}
+};
MessageMessage::MessageMessage(
ConnectionToken* publisher, RequestId requestId_, TransferPtr transfer_
@@ -179,22 +187,13 @@ void MessageMessage::transferMessage(
channel.send(make_shared_ptr(new MessageCloseBody(channel.getVersion(), ref->getId())));
}
-void MessageMessage::deliver(
- framing::ChannelAdapter& channel,
- const std::string& consumerTag,
- uint64_t /*deliveryTag*/,
- uint32_t framesize)
+
+void MessageMessage::deliver(ChannelAdapter& channel, uint64_t, DeliveryToken::shared_ptr token, uint32_t framesize)
{
- transferMessage(channel, consumerTag, framesize);
+ transferMessage(channel, shared_polymorphic_cast<MessageDeliveryToken>(token)->destination, framesize);
}
-void MessageMessage::sendGetOk(
- framing::ChannelAdapter& channel,
- const std::string& destination,
- uint32_t /*messageCount*/,
- uint64_t /*responseTo*/,
- uint64_t /*deliveryTag*/,
- uint32_t framesize)
+void MessageMessage::deliver(ChannelAdapter& channel, const std::string& destination, uint32_t framesize)
{
transferMessage(channel, destination, framesize);
}
@@ -321,6 +320,10 @@ MessageMessage::ReferencePtr MessageMessage::getReference() const {
return reference;
}
+DeliveryToken::shared_ptr MessageMessage::getToken(const std::string& destination)
+{
+ return DeliveryToken::shared_ptr(new MessageDeliveryToken(destination));
+}
}} // namespace qpid::broker