diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2011-03-28 21:47:45 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-03-28 21:47:45 +0100 |
commit | baf3572c49471b780a88475baa92feb64749f90a (patch) | |
tree | d338914545877adfb51faf841876e8d4f60a67e4 /src/rabbit_binding.erl | |
parent | c95652b13944708a6de4f818bd1c9764d1d1c77e (diff) | |
download | rabbitmq-server-baf3572c49471b780a88475baa92feb64749f90a.tar.gz |
refactor: move all serial manipulation code into 'exchange' module
Diffstat (limited to 'src/rabbit_binding.erl')
-rw-r--r-- | src/rabbit_binding.erl | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl index 13362232..1092948a 100644 --- a/src/rabbit_binding.erl +++ b/src/rabbit_binding.erl @@ -133,7 +133,7 @@ add(Binding, InnerFun) -> add_notify(Src, Dst, B) -> ok = sync_binding(B, all_durable([Src, Dst]), fun mnesia:write/3), ok = rabbit_exchange:callback(Src, add_binding, [transaction, Src, B]), - Serial = serial(Src), + Serial = rabbit_exchange:serial(Src), fun () -> ok = rabbit_exchange:callback(Src, add_binding, [Serial, Src, B]), ok = rabbit_event:notify(binding_created, info(B)) @@ -410,7 +410,7 @@ process_deletions(Deletions) -> fun (_XName, {X, Deleted, Bindings}, Acc) -> FlatBindings = lists:flatten(Bindings), pd_callback(transaction, X, Deleted, FlatBindings), - dict:store(X, serial(X), Acc) + dict:store(X, rabbit_exchange:serial(X), Acc) end, Deletions, dict:new()), fun() -> dict:fold( @@ -433,18 +433,3 @@ pd_callback(Arg, X, Deleted, Bindings) -> not_deleted -> remove_bindings; deleted -> delete end, [Arg, X, Bindings]). - -serial(X) -> - case rabbit_exchange:serialise_events(X) of - true -> next_serial(X); - false -> none - end. - -next_serial(#exchange{name = Name}) -> - Serial = case mnesia:read(rabbit_exchange_serial, Name, write) of - [] -> 1; - [#exchange_serial{serial = S}] -> S + 1 - end, - mnesia:write(rabbit_exchange_serial, - #exchange_serial{name = Name, serial = Serial}, write), - Serial. |