summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/SemanticState.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-10-16 21:05:45 +0000
committerAlan Conway <aconway@apache.org>2008-10-16 21:05:45 +0000
commit8245f06869fce0b75e04aba5a1827d0a165fa19d (patch)
tree6dc9eba4bf558900105489edd6e2129c87c88501 /qpid/cpp/src/qpid/broker/SemanticState.cpp
parentde9dd5021a7837355798d1a7d5e8e01a878dc41a (diff)
downloadqpid-python-8245f06869fce0b75e04aba5a1827d0a165fa19d.tar.gz
Added missing message.subscribe arguments to SemanticState::ConsumerImpl for replication (and future use.)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@705359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/broker/SemanticState.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/SemanticState.cpp30
1 files changed, 20 insertions, 10 deletions
diff --git a/qpid/cpp/src/qpid/broker/SemanticState.cpp b/qpid/cpp/src/qpid/broker/SemanticState.cpp
index 26aea36b8a..177157bbb6 100644
--- a/qpid/cpp/src/qpid/broker/SemanticState.cpp
+++ b/qpid/cpp/src/qpid/broker/SemanticState.cpp
@@ -86,11 +86,11 @@ bool SemanticState::exists(const string& consumerTag){
void SemanticState::consume(DeliveryToken::shared_ptr token, string& tagInOut,
Queue::shared_ptr queue, bool nolocal, bool ackRequired, bool acquire,
- bool exclusive, const FieldTable*)
+ bool exclusive, const string& resumeId, uint64_t resumeTtl, const FieldTable& arguments)
{
if(tagInOut.empty())
tagInOut = tagGenerator.generate();
- ConsumerImpl::shared_ptr c(new ConsumerImpl(this, token, tagInOut, queue, ackRequired, nolocal, acquire));
+ ConsumerImpl::shared_ptr c(new ConsumerImpl(this, token, tagInOut, queue, ackRequired, nolocal, acquire, exclusive, resumeId, resumeTtl, arguments));
queue->consume(c, exclusive);//may throw exception
outputTasks.addOutputTask(c.get());
consumers[tagInOut] = c;
@@ -233,13 +233,19 @@ void SemanticState::record(const DeliveryRecord& delivery)
}
SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent,
- DeliveryToken::shared_ptr _token,
- const string& _name,
- Queue::shared_ptr _queue,
- bool ack,
- bool _nolocal,
- bool _acquire
- ) :
+ DeliveryToken::shared_ptr _token,
+ const string& _name,
+ Queue::shared_ptr _queue,
+ bool ack,
+ bool _nolocal,
+ bool _acquire,
+ bool _exclusive,
+ const string& _resumeId,
+ uint64_t _resumeTtl,
+ const framing::FieldTable& _arguments
+
+
+) :
Consumer(_acquire),
parent(_parent),
token(_token),
@@ -249,7 +255,11 @@ SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent,
nolocal(_nolocal),
acquire(_acquire),
blocked(true),
- windowing(true),
+ windowing(true),
+ exclusive(_exclusive),
+ resumeId(_resumeId),
+ resumeTtl(_resumeTtl),
+ arguments(_arguments),
msgCredit(0),
byteCredit(0),
notifyEnabled(true) {}