Skip to content

Commit

Permalink
Enable auto_delete & internal for exchange.declare
Browse files Browse the repository at this point in the history
Enable auto_delete and internal parameters of amqp_exchange_declare() in
codegen. These were once not generated because RabbitMQ did not support these
parameters. The broker now supports these and so should we.

This fixes #218
  • Loading branch information
alanxz committed Oct 19, 2014
1 parent 2340b03 commit 9626dd5
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion examples/amqp_exchange_declare.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ int main(int argc, char const *const *argv)
die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel");

amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype),
0, 0, amqp_empty_table);
0, 0, 0, 0, amqp_empty_table);
die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange");

die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel");
Expand Down
2 changes: 1 addition & 1 deletion examples/amqps_exchange_declare.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ int main(int argc, char const *const *argv)
die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel");

amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype),
0, 0, amqp_empty_table);
0, 0, 0, 0, amqp_empty_table);
die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange");

die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel");
Expand Down
8 changes: 5 additions & 3 deletions librabbitmq/amqp_framing.c
Original file line number Diff line number Diff line change
Expand Up @@ -1926,21 +1926,23 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe
* @param [in] type type
* @param [in] passive passive
* @param [in] durable durable
* @param [in] auto_delete auto_delete
* @param [in] internal internal
* @param [in] arguments arguments
* @returns amqp_exchange_declare_ok_t
*/
AMQP_PUBLIC_FUNCTION
amqp_exchange_declare_ok_t *
AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_table_t arguments)
AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments)
{
amqp_exchange_declare_t req;
req.ticket = 0;
req.exchange = exchange;
req.type = type;
req.passive = passive;
req.durable = durable;
req.auto_delete = 0;
req.internal = 0;
req.auto_delete = auto_delete;
req.internal = internal;
req.nowait = 0;
req.arguments = arguments;

Expand Down
4 changes: 3 additions & 1 deletion librabbitmq/amqp_framing.h
Original file line number Diff line number Diff line change
Expand Up @@ -788,12 +788,14 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe
* @param [in] type type
* @param [in] passive passive
* @param [in] durable durable
* @param [in] auto_delete auto_delete
* @param [in] internal internal
* @param [in] arguments arguments
* @returns amqp_exchange_declare_ok_t
*/
AMQP_PUBLIC_FUNCTION
amqp_exchange_declare_ok_t *
AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_table_t arguments);
AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments);
/**
* amqp_exchange_delete
*
Expand Down
1 change: 0 additions & 1 deletion librabbitmq/codegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ def c_ize(s):
"amqp_channel_open": ["out_of_band"],
"amqp_channel_close": False, # needs special handling
"amqp_access_request": False, # huh?
"amqp_exchange_declare": ["auto_delete", "internal"],
"amqp_basic_get": False, # get-ok has content
}

Expand Down

0 comments on commit 9626dd5

Please sign in to comment.