aboutsummaryrefslogtreecommitdiff
path: root/src/im-asapo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/im-asapo.c')
-rw-r--r--src/im-asapo.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/im-asapo.c b/src/im-asapo.c
index 6df14e93..9b57883c 100644
--- a/src/im-asapo.c
+++ b/src/im-asapo.c
@@ -55,6 +55,7 @@ struct im_asapo
AsapoProducerHandle producer;
AsapoStringHandle group_id;
int wait_for_stream;
+ int use_ack;
};
@@ -173,7 +174,10 @@ struct im_asapo *im_asapo_connect(struct im_asapo_params *params)
a->group_id = asapo_string_from_c_str(params->group_id);
a->wait_for_stream = params->wait_for_stream;
- asapo_consumer_set_resend_nacs(a->consumer, 1, 10000, 3);
+ a->use_ack = params->use_ack;
+ if ( a->use_ack ) {
+ asapo_consumer_set_resend_nacs(a->consumer, 1, 60000, 3);
+ }
asapo_free_handle(&cred);
@@ -275,13 +279,15 @@ void *im_asapo_fetch(struct im_asapo *a, size_t *pdata_size,
void im_asapo_finalise(struct im_asapo *a, uint64_t message_id)
{
- AsapoErrorHandle err = asapo_new_handle();
- asapo_consumer_acknowledge(a->consumer, a->group_id, message_id,
- a->stream, &err);
- if ( asapo_is_error(err) ) {
- show_asapo_error("Couldn't acknowledge ASAP::O message", err);
+ if ( a->use_ack ) {
+ AsapoErrorHandle err = asapo_new_handle();
+ asapo_consumer_acknowledge(a->consumer, a->group_id, message_id,
+ a->stream, &err);
+ if ( asapo_is_error(err) ) {
+ show_asapo_error("Couldn't acknowledge ASAP::O message", err);
+ }
+ asapo_free_handle(&err);
}
- asapo_free_handle(&err);
}