diff options
| author | Gordon Sim <gsim@apache.org> | 2007-07-27 15:44:52 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2007-07-27 15:44:52 +0000 |
| commit | 80406d0fb680239a0141b81fb0b9f20d20c9b1e1 (patch) | |
| tree | 13677bf773bf25db03144aa72c97a49d2810240d /cpp/src/qpid/broker/BrokerMessageMessage.cpp | |
| parent | a9232d5a02a19f093f212cb0b76772a20b45cb1b (diff) | |
| download | qpid-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.cpp | 29 |
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 |
