From 1a2c6dd4f82bf5610b5aca25d60ef9c228a810f1 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 27 Aug 2009 12:06:04 +0100 Subject: Support basic.ack. --- librabbitmq/amqp.h | 5 +++++ librabbitmq/amqp_api.c | 14 ++++++++++++++ 2 files changed, 19 insertions(+) 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; +} -- cgit v1.2.1