diff options
Diffstat (limited to 'cpp/src/qpid')
-rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.cpp | 16 | ||||
-rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.h | 2 |
2 files changed, 12 insertions, 6 deletions
diff --git a/cpp/src/qpid/broker/SessionAdapter.cpp b/cpp/src/qpid/broker/SessionAdapter.cpp index c4ee6d9ec1..663565c26c 100644 --- a/cpp/src/qpid/broker/SessionAdapter.cpp +++ b/cpp/src/qpid/broker/SessionAdapter.cpp @@ -367,16 +367,20 @@ void SessionAdapter::MessageHandlerImpl::accept(const framing::SequenceSet& comm commands.for_each(acceptOp); } -/* -void SessionAdapter::MessageHandlerImpl::acquire(const SequenceSet& transfers) +framing::Message010AcquireResult SessionAdapter::MessageHandlerImpl::acquire(const framing::SequenceSet& transfers) { + //TODO: change this when SequenceNumberSet is deleted along with preview code SequenceNumberSet results; - RangedOperation op = boost::bind(&SemanticState::acquire, &state, _1, _2, boost::ref(results)); - transfers.processRanges(op); + RangedOperation f = boost::bind(&SemanticState::acquire, &state, _1, _2, boost::ref(results)); + transfers.for_each(f); + results = results.condense(); - getProxy().getMessage().acquired(results); + SequenceSet acquisitions; + RangedOperation g = boost::bind(&SequenceSet::add, &acquisitions, _1, _2); + results.processRanges(g); + + return Message010AcquireResult(acquisitions); } -*/ void SessionAdapter::ExecutionHandlerImpl::sync() diff --git a/cpp/src/qpid/broker/SessionAdapter.h b/cpp/src/qpid/broker/SessionAdapter.h index c2d61392d7..23cc1beb93 100644 --- a/cpp/src/qpid/broker/SessionAdapter.h +++ b/cpp/src/qpid/broker/SessionAdapter.h @@ -149,6 +149,8 @@ class SessionAdapter : public HandlerImpl, public framing::AMQP_ServerOperations void release(const framing::SequenceSet& commands, bool setRedelivered); + framing::Message010AcquireResult acquire(const framing::SequenceSet&); + void subscribe(const string& queue, const string& destination, uint8_t acceptMode, |