diff options
Diffstat (limited to 'src/im-asapo.c')
-rw-r--r-- | src/im-asapo.c | 20 |
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); } |