From ffb9eeaab912ec8edc260a264bbe6e31bb06a941 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 3 Jun 2009 13:41:40 +0100 Subject: Changes for 0-9-1 support. --- configure.ac | 2 +- examples/amqp_consumer.c | 2 +- examples/amqp_listen.c | 2 +- librabbitmq/amqp.h | 3 ++- librabbitmq/amqp_api.c | 5 +++-- librabbitmq/amqp_socket.c | 11 +++++++++-- librabbitmq/codegen.py | 1 + 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/configure.ac b/configure.ac index 9939973..3156079 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ fi sibling_codegen_dir=$(pwd)/../rabbitmq-codegen AMQP_CODEGEN_DIR=$(test -d $sibling_codegen_dir && echo $sibling_codegen_dir || echo codegen) -AMQP_SPEC_JSON_PATH=$AMQP_CODEGEN_DIR/amqp-0.8.json +AMQP_SPEC_JSON_PATH=$AMQP_CODEGEN_DIR/amqp-0.9.1.json AC_SUBST(AMQP_CODEGEN_DIR) AC_SUBST(AMQP_SPEC_JSON_PATH) diff --git a/examples/amqp_consumer.c b/examples/amqp_consumer.c index 3dd3262..2341a38 100644 --- a/examples/amqp_consumer.c +++ b/examples/amqp_consumer.c @@ -123,7 +123,7 @@ int main(int argc, char const * const *argv) { AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_rpc_reply, "Binding queue"); - amqp_basic_consume(conn, 1, queuename, AMQP_EMPTY_BYTES, 0, 1, 0); + amqp_basic_consume(conn, 1, queuename, AMQP_EMPTY_BYTES, 0, 1, 0, AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_rpc_reply, "Consuming"); run(conn); diff --git a/examples/amqp_listen.c b/examples/amqp_listen.c index dc0f00c..eb4484c 100644 --- a/examples/amqp_listen.c +++ b/examples/amqp_listen.c @@ -59,7 +59,7 @@ int main(int argc, char const * const *argv) { AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_rpc_reply, "Binding queue"); - amqp_basic_consume(conn, 1, queuename, AMQP_EMPTY_BYTES, 0, 1, 0); + amqp_basic_consume(conn, 1, queuename, AMQP_EMPTY_BYTES, 0, 1, 0, AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_rpc_reply, "Consuming"); { diff --git a/librabbitmq/amqp.h b/librabbitmq/amqp.h index 563c429..6a1cace 100644 --- a/librabbitmq/amqp.h +++ b/librabbitmq/amqp.h @@ -267,7 +267,8 @@ extern struct amqp_basic_consume_ok_t_ *amqp_basic_consume(amqp_connection_state amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, - amqp_boolean_t exclusive); + amqp_boolean_t exclusive, + amqp_table_t filter); #ifdef __cplusplus } diff --git a/librabbitmq/amqp_api.c b/librabbitmq/amqp_api.c index b5c9007..21010b3 100644 --- a/librabbitmq/amqp_api.c +++ b/librabbitmq/amqp_api.c @@ -175,11 +175,12 @@ amqp_basic_consume_ok_t *amqp_basic_consume(amqp_connection_state_t state, amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, - amqp_boolean_t exclusive) + amqp_boolean_t exclusive, + amqp_table_t filter) { amqp_rpc_reply = AMQP_SIMPLE_RPC(state, channel, BASIC, CONSUME, CONSUME_OK, amqp_basic_consume_t, - 0, queue, consumer_tag, no_local, no_ack, exclusive, 0); + 0, queue, consumer_tag, no_local, no_ack, exclusive, 0, filter); return RPC_REPLY(amqp_basic_consume_ok_t); } diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index 04e8c32..7a87281 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -50,10 +50,17 @@ static char *header() { header[1] = 'M'; header[2] = 'Q'; header[3] = 'P'; +#ifndef USE_MODERN_AMQP_PROTOCOL_HEADER header[4] = 1; header[5] = 1; header[6] = AMQP_PROTOCOL_VERSION_MAJOR; header[7] = AMQP_PROTOCOL_VERSION_MINOR; +#else + header[4] = 0; + header[5] = AMQP_PROTOCOL_VERSION_MAJOR; + header[6] = AMQP_PROTOCOL_VERSION_MINOR; + header[7] = AMQP_PROTOCOL_VERSION_REVISION; +#endif return header; } @@ -363,8 +370,8 @@ amqp_rpc_reply_t amqp_login(amqp_connection_state_t state, amqp_connection_open_t s = (amqp_connection_open_t) { .virtual_host = amqp_cstring_bytes(vhost), - .capabilities = {.len = 0, .bytes = NULL}, - .insist = 1 + .deprecated_capabilities = {.len = 0, .bytes = NULL}, + .deprecated_insist = 1 }; result = amqp_simple_rpc(state, 0, diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py index 30cb79c..aab6d95 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -372,6 +372,7 @@ extern "C" { """ print "#define AMQP_PROTOCOL_VERSION_MAJOR %d" % (spec.major) print "#define AMQP_PROTOCOL_VERSION_MINOR %d" % (spec.minor) + print "#define AMQP_PROTOCOL_VERSION_REVISION %d" % (spec.revision) print "#define AMQP_PROTOCOL_PORT %d" % (spec.port) for (c,v,cls) in spec.constants: -- cgit v1.2.1