summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-03-29 12:01:30 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-03-29 12:01:30 +0100
commit042b3237005be68d2f6b9062dffb9456edfe2df7 (patch)
tree7bfed9077b185f49b2b4895f70a64dcbb51e8698 /src
parentd5afad7006a4d1dcbdec5ea83e02ee7cc938f7a6 (diff)
downloadrabbitmq-server-git-042b3237005be68d2f6b9062dffb9456edfe2df7.tar.gz
Go back to serial/1.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_binding.erl18
-rw-r--r--src/rabbit_exchange.erl10
2 files changed, 14 insertions, 14 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl
index 6384cf0e76..db7b603e6e 100644
--- a/src/rabbit_binding.erl
+++ b/src/rabbit_binding.erl
@@ -134,7 +134,7 @@ add(Binding, InnerFun) ->
add_notify(X, B) ->
ok = rabbit_exchange:callback(X, add_binding, [transaction, X, B]),
- Serial = rabbit_exchange:serial(X, binding),
+ Serial = rabbit_exchange:serial(X),
fun () ->
ok = rabbit_exchange:callback(X, add_binding, [Serial, X, B]),
ok = rabbit_event:notify(binding_created, info(B))
@@ -411,17 +411,21 @@ process_deletions(Deletions) ->
fun (XName, {X, Deleted, Bindings}, Acc) ->
FlatBindings = lists:flatten(Bindings),
pd_callback(transaction, X, Deleted, FlatBindings),
- dict:store(XName, rabbit_exchange:serial(
- X, case Deleted of
- deleted -> exchange;
- not_deleted -> binding
- end), Acc)
+ case Deleted of
+ deleted -> Acc;
+ not_deleted -> dict:store(XName,
+ rabbit_exchange:serial(X),
+ Acc)
+ end
end, dict:new(), Deletions),
fun() ->
dict:fold(
fun (XName, {X, Deleted, Bindings}, ok) ->
FlatBindings = lists:flatten(Bindings),
- Serial = dict:fetch(XName, Serials),
+ Serial = case Deleted of
+ deleted -> none;
+ not_deleted -> dict:fetch(XName, Serials)
+ end,
pd_callback(Serial, X, Deleted, FlatBindings),
[rabbit_event:notify(binding_deleted, info(B)) ||
B <- FlatBindings],
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index 067df56008..1a8d8bed28 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -24,7 +24,7 @@
info_keys/0, info/1, info/2, info_all/1, info_all/2,
publish/2, delete/2]).
%% these must be run inside a mnesia tx
--export([maybe_auto_delete/1, serial/2]).
+-export([maybe_auto_delete/1, serial/1]).
%%----------------------------------------------------------------------------
@@ -75,8 +75,7 @@
-spec(maybe_auto_delete/1::
(rabbit_types:exchange())
-> 'not_deleted' | {'deleted', rabbit_binding:deletions()}).
--spec(serial/2:: (rabbit_types:exchange(), 'exchange' | 'binding')
- -> 'none' | pos_integer()).
+-spec(serial/1:: (rabbit_types:exchange()) -> 'none' | pos_integer()).
-endif.
@@ -324,10 +323,7 @@ unconditional_delete(X = #exchange{name = XName}) ->
Bindings = rabbit_binding:remove_for_source(XName),
{deleted, X, Bindings, rabbit_binding:remove_for_destination(XName)}.
-serial(#exchange{}, exchange) ->
- none;
-
-serial(#exchange{name = XName, type = XType}, binding) ->
+serial(#exchange{name = XName, type = XType}) ->
case (type_to_module(XType)):serialise_events() of
true -> next_serial(XName);
false -> none