summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-04-07 19:41:44 +0000
committerGordon Sim <gsim@apache.org>2010-04-07 19:41:44 +0000
commit00e14b01033ae8c33399bc6ebfd28930498b2533 (patch)
tree3615da0715bfe4f09bb930f108611f47d3ae794c /cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
parent736179f004fbc65bb82f0ceade570375197e29e7 (diff)
downloadqpid-python-00e14b01033ae8c33399bc6ebfd28930498b2533.tar.gz
QPID-664: removed flush, added option to make sync non-blocking if so desired
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@931651 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.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
index 9efafb1d16..8f9751a967 100644
--- a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
+++ b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp
@@ -51,14 +51,10 @@ namespace amqp0_10 {
SessionImpl::SessionImpl(ConnectionImpl& c, bool t) : connection(&c), transactional(t) {}
-void SessionImpl::sync()
+void SessionImpl::sync(bool block)
{
- retry<Sync>();
-}
-
-void SessionImpl::flush()
-{
- retry<Flush>();
+ if (block) retry<Sync>();
+ else execute<NonBlockingSync>();
}
void SessionImpl::commit()
@@ -82,7 +78,7 @@ void SessionImpl::acknowledge(bool sync_)
//message may be redelivered; i.e. the application cannot delete
//any state necessary for preventing reprocessing of the message
execute<Acknowledge>();
- if (sync_) sync();
+ if (sync_) sync(true);
}
void SessionImpl::reject(qpid::messaging::Message& m)
@@ -378,17 +374,12 @@ uint32_t SessionImpl::pendingAckImpl(const std::string* destination)
}
}
-void SessionImpl::syncImpl()
-{
- session.sync();
-}
-
-void SessionImpl::flushImpl()
+void SessionImpl::syncImpl(bool block)
{
- session.flush();
+ if (block) session.sync();
+ else session.sendSyncRequest();
}
-
void SessionImpl::commitImpl()
{
incoming.accept();