summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-04-06 19:08:28 +0000
committerGordon Sim <gsim@apache.org>2010-04-06 19:08:28 +0000
commitcea30bd45679ae39de64cb93e25d914abc937ba0 (patch)
treebe972f36e5abea1b17bf5cd85fba403f6f934eaa /cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
parent4517306f15bb760814a75797f4b229132114ff6d (diff)
downloadqpid-python-cea30bd45679ae39de64cb93e25d914abc937ba0.tar.gz
QPID-664: added method to release messages
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@931275 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/amqp0_10/SessionImpl.cpp')
-rw-r--r--cpp/src/qpid/client/amqp0_10/SessionImpl.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
index bb0a735fde..9efafb1d16 100644
--- a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
+++ b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
@@ -92,6 +92,11 @@ void SessionImpl::reject(qpid::messaging::Message& m)
execute1<Reject>(m);
}
+void SessionImpl::release(qpid::messaging::Message& m)
+{
+ execute1<Release>(m);
+}
+
void SessionImpl::close()
{
//close all the senders and receivers (get copy of names and then
@@ -418,6 +423,13 @@ void SessionImpl::rejectImpl(qpid::messaging::Message& m)
session.messageReject(set);
}
+void SessionImpl::releaseImpl(qpid::messaging::Message& m)
+{
+ SequenceSet set;
+ set.add(MessageImplAccess::get(m).getInternalId());
+ session.messageRelease(set);
+}
+
void SessionImpl::receiverCancelled(const std::string& name)
{
receivers.erase(name);