summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-07-31 00:44:02 +0100
committerBen Hood <0x6e6562@gmail.com>2008-07-31 00:44:02 +0100
commitdd5c6e155ed89df4b6c77fffe82cd70de434102e (patch)
tree2bcc82a35873f13e9be2168667e3585dc304965d /include
parentf8499df1397a0f4b74eadb7614a3942a07091040 (diff)
downloadrabbitmq-server-dd5c6e155ed89df4b6c77fffe82cd70de434102e.tar.gz
Savepoint for changing the routing structure
Diffstat (limited to 'include')
-rw-r--r--include/rabbit.hrl16
1 files changed, 7 insertions, 9 deletions
diff --git a/include/rabbit.hrl b/include/rabbit.hrl
index f153e7c4..d0fc87e0 100644
--- a/include/rabbit.hrl
+++ b/include/rabbit.hrl
@@ -41,11 +41,14 @@
-record(exchange, {name, type, durable, auto_delete, arguments}).
--record(amqqueue, {name, durable, auto_delete, arguments, binding_specs, pid}).
--record(binding_spec, {exchange_name, routing_key, arguments}).
+-record(amqqueue, {name, durable, auto_delete, arguments, pid}).
+%% This constant field seems to be required because the underlying storage is
+%% ets, which stores key value pairs
--record(binding, {key, handlers}).
--record(handler, {binding_spec, queue, qpid}).
+%% The spec field is made up of an {Exchange, Binding, Queue}
+-record(forwards_binding, {spec, value = const}).
+%% The spec field is made up of an {Queue, Binding, Exchange}
+-record(reverse_binding, {spec, value = const}).
-record(listener, {node, protocol, host, port}).
@@ -76,16 +79,11 @@
#user{username :: username(),
password :: password()}).
-type(permission() :: 'passive' | 'active' | 'write' | 'read').
--type(binding_spec() ::
- #binding_spec{exchange_name :: exchange_name(),
- routing_key :: routing_key(),
- arguments :: amqp_table()}).
-type(amqqueue() ::
#amqqueue{name :: queue_name(),
durable :: bool(),
auto_delete :: bool(),
arguments :: amqp_table(),
- binding_specs :: [binding_spec()],
pid :: maybe(pid())}).
-type(exchange() ::
#exchange{name :: exchange_name(),