From 039d4461a0c1bb44731bbee6df58c0ee0c1673cf Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Fri, 7 Mar 2008 19:07:32 +0000 Subject: Added acquire impl to final 0-10 codepath Converted some more python tests git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634780 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/SessionAdapter.cpp | 16 ++++++++++------ cpp/src/qpid/broker/SessionAdapter.h | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'cpp/src') 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, -- cgit v1.2.1