diff options
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | examples/amqp_consumer.c | 2 | ||||
-rw-r--r-- | examples/amqp_listen.c | 2 | ||||
-rw-r--r-- | examples/amqp_listenq.c | 2 | ||||
-rw-r--r-- | librabbitmq/Makefile.am | 8 | ||||
-rw-r--r-- | librabbitmq/amqp.h | 3 | ||||
-rw-r--r-- | librabbitmq/amqp_api.c | 5 | ||||
-rw-r--r-- | librabbitmq/amqp_socket.c | 11 | ||||
-rw-r--r-- | librabbitmq/codegen.py | 1 | ||||
-rw-r--r-- | tools/consume.c | 2 |
10 files changed, 24 insertions, 23 deletions
diff --git a/configure.ac b/configure.ac index 7217440..8d6c987 100644 --- a/configure.ac +++ b/configure.ac @@ -51,8 +51,7 @@ AC_ARG_ENABLE(64-bit, AC_MSG_CHECKING(location of AMQP codegen directory) sibling_codegen_dir="$ac_abs_confdir/../rabbitmq-codegen" AMQP_CODEGEN_DIR=$(test -d "$sibling_codegen_dir" && echo "$sibling_codegen_dir" || echo "$ac_abs_confdir/codegen") -AMQP_SPEC_JSON_PATH="$AMQP_CODEGEN_DIR/amqp-0.8.json" -AMQP_EXTENSIONS_JSON_PATH="$AMQP_CODEGEN_DIR/rabbitmq-0.8-extensions.json" +AMQP_SPEC_JSON_PATH="$AMQP_CODEGEN_DIR/amqp-0.9.1.json" if test -f "$AMQP_SPEC_JSON_PATH" then @@ -61,13 +60,6 @@ else AC_MSG_ERROR(could not find AMQP spec file at "'$AMQP_SPEC_JSON_PATH'") fi -if test -f "$AMQP_EXTENSIONS_JSON_PATH" -then - AC_MSG_RESULT($AMQP_EXTENSIONS_DIR) -else - AC_MSG_ERROR(could not find extensions spec file at "'$AMQP_EXTENSIONS_JSON_PATH'") -fi - AC_MSG_CHECKING(finding a python with simplejson installed) found_python=no checkPython() { @@ -93,7 +85,6 @@ fi AC_SUBST(AMQP_CODEGEN_DIR) AC_SUBST(AMQP_SPEC_JSON_PATH) -AC_SUBST(AMQP_EXTENSIONS_JSON_PATH) AC_SUBST(PYTHON) dnl Decide which extra win32 libs we need diff --git a/examples/amqp_consumer.c b/examples/amqp_consumer.c index 803e228..b1754f5 100644 --- a/examples/amqp_consumer.c +++ b/examples/amqp_consumer.c @@ -177,7 +177,7 @@ int main(int argc, char const * const *argv) { AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_get_rpc_reply(conn), "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_get_rpc_reply(conn), "Consuming"); run(conn); diff --git a/examples/amqp_listen.c b/examples/amqp_listen.c index 3e56008..f208652 100644 --- a/examples/amqp_listen.c +++ b/examples/amqp_listen.c @@ -109,7 +109,7 @@ int main(int argc, char const * const *argv) { AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_get_rpc_reply(conn), "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_get_rpc_reply(conn), "Consuming"); { diff --git a/examples/amqp_listenq.c b/examples/amqp_listenq.c index 0fbce51..98c389f 100644 --- a/examples/amqp_listenq.c +++ b/examples/amqp_listenq.c @@ -90,7 +90,7 @@ int main(int argc, char const * const *argv) { amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), AMQP_EMPTY_BYTES, 0, 0, 0); + amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), AMQP_EMPTY_BYTES, 0, 0, 0, AMQP_EMPTY_TABLE); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); { diff --git a/librabbitmq/Makefile.am b/librabbitmq/Makefile.am index 203a6fc..35680d0 100644 --- a/librabbitmq/Makefile.am +++ b/librabbitmq/Makefile.am @@ -16,8 +16,8 @@ EXTRA_DIST = \ CODEGEN_PY=$(srcdir)/codegen.py -amqp_framing.h: $(AMQP_SPEC_JSON_PATH) $(AMQP_EXTENSIONS_JSON_PATH) $(CODEGEN_PY) - PYTHONPATH=$(AMQP_CODEGEN_DIR) $(PYTHON) $(CODEGEN_PY) header $< $(AMQP_EXTENSIONS_JSON_PATH) $@ +amqp_framing.h: $(AMQP_SPEC_JSON_PATH) $(CODEGEN_PY) + PYTHONPATH=$(AMQP_CODEGEN_DIR) $(PYTHON) $(CODEGEN_PY) header $< $@ -amqp_framing.c: $(AMQP_SPEC_JSON_PATH) $(AMQP_EXTENSIONS_JSON_PATH) $(CODEGEN_PY) - PYTHONPATH=$(AMQP_CODEGEN_DIR) $(PYTHON) $(CODEGEN_PY) body $< $(AMQP_EXTENSIONS_JSON_PATH) $@ +amqp_framing.c: $(AMQP_SPEC_JSON_PATH) $(CODEGEN_PY) + PYTHONPATH=$(AMQP_CODEGEN_DIR) $(PYTHON) $(CODEGEN_PY) body $< $@ diff --git a/librabbitmq/amqp.h b/librabbitmq/amqp.h index 7f4593f..c10c100 100644 --- a/librabbitmq/amqp.h +++ b/librabbitmq/amqp.h @@ -450,7 +450,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); extern int amqp_basic_ack(amqp_connection_state_t state, amqp_channel_t channel, diff --git a/librabbitmq/amqp_api.c b/librabbitmq/amqp_api.c index 2b1ed54..27fe19a 100644 --- a/librabbitmq/amqp_api.c +++ b/librabbitmq/amqp_api.c @@ -269,12 +269,13 @@ 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) { state->most_recent_api_result = 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 d39f29d..b7776ea 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -104,10 +104,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; } @@ -473,8 +480,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 }; amqp_method_number_t replies[] = { AMQP_CONNECTION_OPEN_OK_METHOD, 0 }; result = amqp_simple_rpc(state, diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py index 6b38666..f911966 100644 --- a/librabbitmq/codegen.py +++ b/librabbitmq/codegen.py @@ -417,6 +417,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: diff --git a/tools/consume.c b/tools/consume.c index 2117bba..0d50228 100644 --- a/tools/consume.c +++ b/tools/consume.c @@ -148,7 +148,7 @@ static void do_consume(amqp_connection_state_t conn, amqp_bytes_t queue, int no_ack, const char * const *argv) { if (!amqp_basic_consume(conn, 1, queue, AMQP_EMPTY_BYTES, 0, no_ack, - 0)) + 0, AMQP_EMPTY_TABLE)) die_rpc(amqp_get_rpc_reply(conn), "basic.consume"); for (;;) { |