diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2011-01-11 15:20:36 +0000 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-01-11 15:20:36 +0000 |
commit | c048e064f7d0a69a8ab707ede80acddd339a9d4f (patch) | |
tree | 631f0c7ac0326f249a7f05b401729182168faf42 | |
parent | a74bd7a34ecff0a9cb9c7c8e4c6b1248d49cb41d (diff) | |
download | rabbitmq-server-c048e064f7d0a69a8ab707ede80acddd339a9d4f.tar.gz |
cosmetics and minor factorings
-rw-r--r-- | src/rabbit_amqqueue.erl | 5 | ||||
-rw-r--r-- | src/rabbit_binding.erl | 38 | ||||
-rw-r--r-- | src/rabbit_event.erl | 4 | ||||
-rw-r--r-- | src/rabbit_exchange.erl | 5 | ||||
-rw-r--r-- | src/rabbit_misc.erl | 4 |
5 files changed, 29 insertions, 27 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index ba8ce6da..56fc64fe 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -460,8 +460,9 @@ internal_delete(QueueName) -> [_] -> internal_delete1(QueueName) end end, - fun ({error, _} = Err, _Tx) -> Err; - (Deletions, Tx) -> + fun ({error, _} = Err, _Tx) -> + Err; + (Deletions, Tx) -> ok = rabbit_binding:process_deletions(Deletions, Tx) end). diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl index 9d2e2a04..93f9dc27 100644 --- a/src/rabbit_binding.erl +++ b/src/rabbit_binding.erl @@ -120,8 +120,7 @@ exists(Binding) -> binding_action( Binding, fun (_Src, _Dst, B) -> - Result = mnesia:read({rabbit_route, B}) /= [], - fun (_Tx) -> Result end + rabbit_misc:const(mnesia:read({rabbit_route, B}) /= []) end). add(Binding) -> add(Binding, fun (_Src, _Dst) -> ok end). @@ -146,13 +145,13 @@ add(Binding, InnerFun) -> Src, add_binding, [Tx, Src, B]), rabbit_event:notify_if( - not(Tx), + not Tx, binding_created, info(B)) end; [_] -> fun (_Tx) -> ok end end; {error, _} = Err -> - fun (_Tx) -> Err end + rabbit_misc:const(Err) end end). @@ -179,10 +178,10 @@ remove(Binding, InnerFun) -> end end, fun (Tx) -> - case {Result, Tx} of - {{ok, Deletions}, _} -> + case Result of + {ok, Deletions} -> ok = process_deletions(Deletions, Tx); - {{error, _} = Err, _} -> + {error, _} = Err -> Err end end @@ -296,18 +295,17 @@ sync_binding(Binding, Durable, Fun) -> call_with_source_and_destination(SrcName, DstName, Fun) -> SrcTable = table_for_resource(SrcName), DstTable = table_for_resource(DstName), - ErrFun = fun (Err) -> - fun (_Tx) -> Err end - end, + ErrFun = fun (Err) -> rabbit_misc:const(Err) end, rabbit_misc:execute_mnesia_tx_with_tail( - fun () -> case {mnesia:read({SrcTable, SrcName}), - mnesia:read({DstTable, DstName})} of - {[Src], [Dst]} -> Fun(Src, Dst); - {[], [_] } -> ErrFun({error, source_not_found}); - {[_], [] } -> ErrFun({error, destination_not_found}); - {[], [] } -> - ErrFun({error, source_and_destination_not_found}) - end + fun () -> + case {mnesia:read({SrcTable, SrcName}), + mnesia:read({DstTable, DstName})} of + {[Src], [Dst]} -> Fun(Src, Dst); + {[], [_] } -> ErrFun({error, source_not_found}); + {[_], [] } -> ErrFun({error, destination_not_found}); + {[], [] } -> ErrFun({error, + source_and_destination_not_found}) + end end). table_for_resource(#resource{kind = exchange}) -> rabbit_exchange; @@ -432,12 +430,12 @@ process_deletions(Deletions, Tx) -> dict:fold( fun (_XName, {X, Deleted, Bindings}, ok) -> FlatBindings = lists:flatten(Bindings), - [rabbit_event:notify_if(not(Tx), binding_deleted, info(B)) || + [rabbit_event:notify_if(not Tx, binding_deleted, info(B)) || B <- FlatBindings], case Deleted of not_deleted -> rabbit_exchange:callback(X, remove_bindings, [Tx, X, FlatBindings]); - deleted -> rabbit_event:notify_if(not(Tx), exchange_deleted, + deleted -> rabbit_event:notify_if(not Tx, exchange_deleted, [{name, X#exchange.name}]), rabbit_exchange:callback(X, delete, [Tx, X, FlatBindings]) diff --git a/src/rabbit_event.erl b/src/rabbit_event.erl index cf126dcc..9755654b 100644 --- a/src/rabbit_event.erl +++ b/src/rabbit_event.erl @@ -141,8 +141,8 @@ if_enabled(_State, Fun) -> Fun(), ok. -notify_if(false, _Type, _Props) -> ok; -notify_if(true, Type, Props) -> notify(Type, Props). +notify_if(true, Type, Props) -> notify(Type, Props); +notify_if(false, _Type, _Props) -> ok. notify(Type, Props) -> try diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index 28c7f4b8..0ec57564 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -145,7 +145,7 @@ declare(XName, Type, Durable, AutoDelete, Internal, Args) -> fun ({new, Exchange}, Tx) -> callback(Exchange, create, [Tx, Exchange]), rabbit_event:notify_if( - not(Tx), exchange_created, info(Exchange)), + not Tx, exchange_created, info(Exchange)), Exchange; ({existing, Exchange}, _Tx) -> Exchange; @@ -299,7 +299,8 @@ delete(XName, IfUnused) -> ok = rabbit_binding:process_deletions( rabbit_binding:add_deletion( XName, {X, deleted, Bs}, Deletions), Tx); - (Error = {error, _InUseOrNotFound}, _Tx) -> Error + (Error = {error, _InUseOrNotFound}, _Tx) -> + Error end). maybe_auto_delete(#exchange{auto_delete = false}) -> diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index 133d2a6c..dbc09e7f 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -70,7 +70,7 @@ -export([all_module_attributes/1, build_acyclic_graph/3]). -export([now_ms/0]). -export([lock_file/1]). --export([const_ok/1]). +-export([const_ok/1, const/1]). %%---------------------------------------------------------------------------- @@ -207,6 +207,7 @@ -spec(now_ms/0 :: () -> non_neg_integer()). -spec(lock_file/1 :: (file:filename()) -> rabbit_types:ok_or_error('eexist')). -spec(const_ok/1 :: (any()) -> 'ok'). +-spec(const/1 :: (A) -> fun ((_) -> A)). -endif. @@ -857,3 +858,4 @@ lock_file(Path) -> end. const_ok(_) -> ok. +const(X) -> fun (_) -> X end. |