diff options
| author | Michael Bridgen <mikeb@lshift.net> | 2009-10-22 17:17:05 +0100 |
|---|---|---|
| committer | Michael Bridgen <mikeb@lshift.net> | 2009-10-22 17:17:05 +0100 |
| commit | 00c9d76ac93f9bf76d1701c70996a78a3601e08d (patch) | |
| tree | c017e65845abe6792b3bb0c50617da7e59b26de1 /include | |
| parent | 343e2827a0f04d6c5c71a7ae591b17d5066c3506 (diff) | |
| download | rabbitmq-server-git-00c9d76ac93f9bf76d1701c70996a78a3601e08d.tar.gz | |
- keep track of the owner in the amqqueue record. We need this so we
can check equivalence on queue.declare
- speaking of which, implement the "equivalent" rule of queue.declare
(bug 21832)
- queues are exclusive on creation, and don't change owner, so get rid
of claim_queue
- also check exclusive in the passive version of queue.declare; this
is explicitly mandated by the spec (queue.declare, exclusive)
- bug 21385: exclusive queues are deleted when their owners go away,
as per the spec. This didn't actually change implementation -- it
was wrong for 0-8
Diffstat (limited to 'include')
| -rw-r--r-- | include/rabbit.hrl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/rabbit.hrl b/include/rabbit.hrl index c94965f9ee..f8ff4778e8 100644 --- a/include/rabbit.hrl +++ b/include/rabbit.hrl @@ -51,7 +51,7 @@ -record(exchange, {name, type, durable, arguments}). --record(amqqueue, {name, durable, auto_delete, arguments, pid}). +-record(amqqueue, {name, durable, auto_delete, exclusive_owner = none, arguments, pid}). %% mnesia doesn't like unary records, so we add a dummy 'value' field -record(route, {binding, value = const}). @@ -102,11 +102,12 @@ write :: regexp(), read :: regexp()}). -type(amqqueue() :: - #amqqueue{name :: queue_name(), - durable :: boolean(), - auto_delete :: boolean(), - arguments :: amqp_table(), - pid :: maybe(pid())}). + #amqqueue{name :: queue_name(), + durable :: boolean(), + auto_delete :: boolean(), + exclusive_owner :: maybe(pid()), + arguments :: amqp_table(), + pid :: maybe(pid())}). -type(exchange() :: #exchange{name :: exchange_name(), type :: exchange_type(), |
