diff options
| author | Ben Hood <0x6e6562@gmail.com> | 2008-09-27 16:56:46 +0100 |
|---|---|---|
| committer | Ben Hood <0x6e6562@gmail.com> | 2008-09-27 16:56:46 +0100 |
| commit | 947fc5d49ef97266128aca44b9fbb811ca5c929b (patch) | |
| tree | d80775281610c0410dc03e41fc99562e63a10159 /src | |
| parent | 5f36cce3cc7715fed3d6073e56367fbda0ca75a1 (diff) | |
| download | rabbitmq-server-git-947fc5d49ef97266128aca44b9fbb811ca5c929b.tar.gz | |
Fixed bug with fanout routing
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_exchange.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index 9d8aef906c..eebce96a33 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -213,7 +213,13 @@ route(#exchange{name = Name, type = topic}, RoutingKey) -> topic_matches(BindingKey, RoutingKey)]), lookup_qpids(mnesia:async_dirty(fun qlc:e/1, [Query])); -route(#exchange{name = Name}, RoutingKey) -> +route(X = #exchange{type = fanout}, _) -> + route_internal(X, '_'); + +route(X, RoutingKey) -> + route_internal(X, RoutingKey). + +route_internal(#exchange{name = Name}, RoutingKey) -> MatchHead = #route{binding = #binding{exchange_name = Name, key = RoutingKey, queue_name = '$1'}}, |
