diff options
| author | Matthias Radestock <matthias@lshift.net> | 2008-09-26 20:44:01 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2008-09-26 20:44:01 +0100 |
| commit | 61d7ddfec0915c22a502a8eba27ac71071ca958d (patch) | |
| tree | 9b43800a290380df0e0ea436724907d6404ec9fd /src | |
| parent | fcf48b3d9a271fcbee9701825b433e5292c205b6 (diff) | |
| download | rabbitmq-server-git-61d7ddfec0915c22a502a8eba27ac71071ca958d.tar.gz | |
some simplifications
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_exchange.erl | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index d362f4e90a..c500f19573 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -210,25 +210,21 @@ route(#exchange{name = Name, type = topic}, RoutingKey) -> % TODO: This causes a full scan for each entry % with the same exchange (see bug 19336) topic_matches(BindingKey, RoutingKey)]), - lookup_qpids(mnesia:activity(async_dirty, fun() -> qlc:e(Query) end)); + lookup_qpids(mnesia:async_dirty(fun qlc:e/1, [Query])); route(#exchange{name = Name}, RoutingKey) -> MatchHead = #route{binding = #binding{exchange_name = Name, key = RoutingKey, queue_name = '$1'}}, - lookup_qpids( - mnesia:activity( - async_dirty, - fun() -> mnesia:select(route, [{MatchHead, [], ['$1']}]) end)). + lookup_qpids(mnesia:dirty_select(route, [{MatchHead, [], ['$1']}])). lookup_qpids(Queues) -> - Set = sets:from_list(Queues), - Fun = fun() -> - sets:fold( - fun(Key, Acc) -> [#amqqueue{pid = QPid}] = mnesia:read({amqqueue, Key}), - [QPid | Acc] end, - [], Set) end, - mnesia:activity(async_dirty, Fun). + mnesia:async_dirty( + fun sets:fold/3, + [fun(Key, Acc) -> + [#amqqueue{pid = QPid}] = mnesia:read({amqqueue, Key}), + [QPid | Acc] + end, [], sets:from_list(Queues)]). % TODO: Should all of the route and binding management not be refactored to it's own module % Especially seeing as unbind will have to be implemented for 0.91 ? |
