summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librabbitmq/amqp.h5
-rw-r--r--librabbitmq/amqp_api.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/librabbitmq/amqp.h b/librabbitmq/amqp.h
index 5101364..4c135b1 100644
--- a/librabbitmq/amqp.h
+++ b/librabbitmq/amqp.h
@@ -271,6 +271,11 @@ extern struct amqp_basic_consume_ok_t_ *amqp_basic_consume(amqp_connection_state
amqp_boolean_t no_ack,
amqp_boolean_t exclusive);
+extern int amqp_basic_ack(amqp_connection_state_t state,
+ amqp_channel_t channel,
+ uint64_t delivery_tag,
+ amqp_boolean_t multiple);
+
#ifdef __cplusplus
}
#endif
diff --git a/librabbitmq/amqp_api.c b/librabbitmq/amqp_api.c
index b5c9007..a52d947 100644
--- a/librabbitmq/amqp_api.c
+++ b/librabbitmq/amqp_api.c
@@ -183,3 +183,17 @@ amqp_basic_consume_ok_t *amqp_basic_consume(amqp_connection_state_t state,
0, queue, consumer_tag, no_local, no_ack, exclusive, 0);
return RPC_REPLY(amqp_basic_consume_ok_t);
}
+
+int amqp_basic_ack(amqp_connection_state_t state,
+ amqp_channel_t channel,
+ uint64_t delivery_tag,
+ amqp_boolean_t multiple)
+{
+ amqp_basic_ack_t m =
+ (amqp_basic_ack_t) {
+ .delivery_tag = delivery_tag,
+ .multiple = multiple
+ };
+ AMQP_CHECK_RESULT(amqp_send_method(state, channel, AMQP_BASIC_ACK_METHOD, &m));
+ return 0;
+}