summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Bridgen <mikeb@lshift.net>2009-10-22 17:17:05 +0100
committerMichael Bridgen <mikeb@lshift.net>2009-10-22 17:17:05 +0100
commit00c9d76ac93f9bf76d1701c70996a78a3601e08d (patch)
treec017e65845abe6792b3bb0c50617da7e59b26de1 /include
parent343e2827a0f04d6c5c71a7ae591b17d5066c3506 (diff)
downloadrabbitmq-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.hrl13
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(),