summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-09 15:21:05 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-07-09 15:21:05 +0100
commit731c5101b94d9ba35dbe6e4968e572656da3fdba (patch)
tree5336204bbaab8611bbc9e48120e680b1c15945bc
parent7478207a21fc2e1e7aea5306762578f2992ccb42 (diff)
parent7478207a21fc2e1e7aea5306762578f2992ccb42 (diff)
downloadrabbitmq-c-731c5101b94d9ba35dbe6e4968e572656da3fdba.tar.gz
this branch is default with amqp_0_9_1 merged in; everything seems to work fine
-rw-r--r--configure.ac11
-rw-r--r--examples/amqp_consumer.c2
-rw-r--r--examples/amqp_listen.c2
-rw-r--r--examples/amqp_listenq.c2
-rw-r--r--librabbitmq/Makefile.am8
-rw-r--r--librabbitmq/amqp.h3
-rw-r--r--librabbitmq/amqp_api.c5
-rw-r--r--librabbitmq/amqp_socket.c11
-rw-r--r--librabbitmq/codegen.py1
-rw-r--r--tools/consume.c2
10 files changed, 24 insertions, 23 deletions
diff --git a/configure.ac b/configure.ac
index c3f1bb7..7ec107a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,8 +30,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
@@ -40,13 +39,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() {
@@ -71,7 +63,6 @@ fi
AC_SUBST(AMQP_CODEGEN_DIR)
AC_SUBST(AMQP_SPEC_JSON_PATH)
-AC_SUBST(AMQP_EXTENSIONS_JSON_PATH)
AC_SUBST(PYTHON)
# Check for libpopt, which we need to build the tools
diff --git a/examples/amqp_consumer.c b/examples/amqp_consumer.c
index aa33639..a8ed9e3 100644
--- a/examples/amqp_consumer.c
+++ b/examples/amqp_consumer.c
@@ -173,7 +173,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 0162ce6..448ced1 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 9100dec..0057826 100644
--- a/examples/amqp_listenq.c
+++ b/examples/amqp_listenq.c
@@ -91,7 +91,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 90ab329..b4c8843 100644
--- a/librabbitmq/Makefile.am
+++ b/librabbitmq/Makefile.am
@@ -10,8 +10,8 @@ EXTRA_DIST = codegen.py
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 017b86e..ad9b3e4 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 a748f90..592ab58 100644
--- a/librabbitmq/amqp_api.c
+++ b/librabbitmq/amqp_api.c
@@ -236,12 +236,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 a78056b..7fc344d 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;
}
@@ -465,8 +472,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 7aea9f4..792a6cf 100644
--- a/librabbitmq/codegen.py
+++ b/librabbitmq/codegen.py
@@ -418,6 +418,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 40b61d1..7725ba8 100644
--- a/tools/consume.c
+++ b/tools/consume.c
@@ -149,7 +149,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 (;;) {