summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionSettings.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-10-29 15:15:08 +0000
committerGordon Sim <gsim@apache.org>2008-10-29 15:15:08 +0000
commit20e253844fddd084eac9b80dc9cc73efff12dd28 (patch)
tree7772f7360ec0bc8c7cabc49202d7b6bca038e7ec /cpp/src/qpid/client/SubscriptionSettings.h
parent2dcb03fba0f117583a3dd669c46302bb6bb834a2 (diff)
downloadqpid-python-20e253844fddd084eac9b80dc9cc73efff12dd28.tar.gz
* added flag to SubscriptionSettings to control automatic completion of message
* removed automatic acquiring under autoAck mode * added test for results from acquire requests * added short txtest to the set of system tests run under make check git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@708919 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SubscriptionSettings.h')
-rw-r--r--cpp/src/qpid/client/SubscriptionSettings.h31
1 files changed, 21 insertions, 10 deletions
diff --git a/cpp/src/qpid/client/SubscriptionSettings.h b/cpp/src/qpid/client/SubscriptionSettings.h
index 924814c809..19fbc3486b 100644
--- a/cpp/src/qpid/client/SubscriptionSettings.h
+++ b/cpp/src/qpid/client/SubscriptionSettings.h
@@ -39,22 +39,33 @@ struct SubscriptionSettings
FlowControl flow=FlowControl::unlimited(),
AcceptMode accept=ACCEPT_MODE_EXPLICIT,
AcquireMode acquire=ACQUIRE_MODE_PRE_ACQUIRED,
- unsigned int autoAck_=1
- ) : flowControl(flow), acceptMode(accept), acquireMode(acquire), autoAck(autoAck_) {}
+ unsigned int autoAck_=1,
+ bool autoComplete_=true
+ ) : flowControl(flow), acceptMode(accept), acquireMode(acquire), autoAck(autoAck_), autoComplete(autoComplete_) {}
FlowControl flowControl; ///@< Flow control settings. @see FlowControl
AcceptMode acceptMode; ///@< ACCEPT_MODE_EXPLICIT or ACCEPT_MODE_NONE
AcquireMode acquireMode; ///@< ACQUIRE_MODE_PRE_ACQUIRED or ACQUIRE_MODE_NOT_ACQUIRED
- /** Automatically acknowledge (acquire and accept) batches of autoAck messages.
- * 0 means no automatic acknowledgement. What it means to "acknowledge" a message depends on
- * acceptMode and acquireMode:
- * - ACCEPT_MODE_NONE and ACQUIRE_MODE_PRE_ACQUIRED: do nothing
- * - ACCEPT_MODE_NONE and ACQUIRE_MODE_NOT_ACQUIRED: send an "acquire" command
- * - ACCEPT_MODE_EXPLICIT and ACQUIRE_MODE_PRE_ACQUIRED: send "accept" command
- * - ACCEPT_MODE_EXPLICIT and ACQUIRE_MODE_NOT_ACQUIRED: send "acquire" and "accept" commands
- */
+ /** Automatically acknowledge (accept) batches of autoAck
+ * messages. 0 means no automatic acknowledgement. This has no
+ * effect for messsages received for a subscription with
+ * ACCEPT_MODE_NODE.*/
unsigned int autoAck;
+ /**
+ * If set to true, messages will be marked as completed (in
+ * windowing mode, completion of a message will cause the credit
+ * used up by that message to be reallocated) once they have been
+ * received. The server will be explicitly notified of all
+ * completed messages when the next accept is sent through the
+ * subscription (either explictly or through autAck). However the
+ * server may also periodically request information on the
+ * completed messages.
+ *
+ * If set to false the application is responsible for completing
+ * messages (@see Session::markCompleted()).
+ */
+ bool autoComplete;
};
}} // namespace qpid::client