diff options
author | Gordon Sim <gsim@apache.org> | 2008-03-07 19:07:32 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2008-03-07 19:07:32 +0000 |
commit | 039d4461a0c1bb44731bbee6df58c0ee0c1673cf (patch) | |
tree | 242e9dcd96b51dbe14ea8d474347a00b7c8fe6b5 /cpp | |
parent | 28bb2c5583a4747594c869af46593f223344a043 (diff) | |
download | qpid-python-039d4461a0c1bb44731bbee6df58c0ee0c1673cf.tar.gz |
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
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.cpp | 16 | ||||
-rw-r--r-- | cpp/src/qpid/broker/SessionAdapter.h | 2 | ||||
-rw-r--r-- | cpp/xml/extra.xml | 11 |
3 files changed, 22 insertions, 7 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, diff --git a/cpp/xml/extra.xml b/cpp/xml/extra.xml index f8bd7688b4..23df91e492 100644 --- a/cpp/xml/extra.xml +++ b/cpp/xml/extra.xml @@ -670,7 +670,16 @@ <field name="commands" domain="sequence-set"/> <field name="set-redelivered" domain="bit"/> </method> - + <method name = "acquire" index="5"> + <doc>blah, blah</doc> + <chassis name="server" implement="MUST" /> + <field name="transfers" domain="sequence-set"/> + <result> + <struct size="long" type="4"> + <field name="transfers" domain="sequence-set"/> + </struct> + </result> + </method> <method name = "subscribe" index="7"> <doc>blah, blah</doc> |