diff options
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/client/SubscriptionManager.cpp | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/client/SubscriptionManager.h | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/SubscriptionManager.cpp b/cpp/src/qpid/client/SubscriptionManager.cpp index 1282a1cf61..c482c824f7 100644 --- a/cpp/src/qpid/client/SubscriptionManager.cpp +++ b/cpp/src/qpid/client/SubscriptionManager.cpp @@ -35,14 +35,14 @@ namespace client { SubscriptionManager::SubscriptionManager(Session_0_10& s) : dispatcher(s), session(s), messages(UNLIMITED), bytes(UNLIMITED), window(true), - confirmMode(true) + confirmMode(true), acquireMode(true) {} void SubscriptionManager::subscribeInternal( const std::string& q, const std::string& dest) { session.messageSubscribe(arg::queue=q, arg::destination=dest, - arg::confirmMode=confirmMode); + arg::confirmMode=confirmMode, arg::acquireMode=acquireMode); setFlowControl(dest, messages, bytes, window); } @@ -82,6 +82,8 @@ void SubscriptionManager::setFlowControl( void SubscriptionManager::setConfirmMode(bool c) { confirmMode=c; } +void SubscriptionManager::setAcquireMode(bool a) { acquireMode=a; } + void SubscriptionManager::setAckPolicy(const AckPolicy& a) { autoAck=a; } void SubscriptionManager::cancel(const std::string dest) diff --git a/cpp/src/qpid/client/SubscriptionManager.h b/cpp/src/qpid/client/SubscriptionManager.h index 5cff46f0f2..f163360f5d 100644 --- a/cpp/src/qpid/client/SubscriptionManager.h +++ b/cpp/src/qpid/client/SubscriptionManager.h @@ -46,6 +46,7 @@ class SubscriptionManager bool window; AckPolicy autoAck; bool confirmMode; + bool acquireMode; public: SubscriptionManager(Session_0_10& session); @@ -107,6 +108,13 @@ public: */ void setConfirmMode(bool confirm); + /** Set the acquire-mode for new subscriptions. Defaults to true. + *@param acquire: if false messages are not dequed, if true + * messages are dequed on acknowledgement or on transfer + * depending on confirmMode. + */ + void setAcquireMode(bool acquire); + /** Set the acknowledgement policy for new subscriptions. * Default is to acknowledge every message automatically. */ |
