diff options
Diffstat (limited to 'src/rabbit_router.erl')
| -rw-r--r-- | src/rabbit_router.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_router.erl b/src/rabbit_router.erl index 00df1ce1..d49c072c 100644 --- a/src/rabbit_router.erl +++ b/src/rabbit_router.erl @@ -72,7 +72,8 @@ deliver(QNames, Delivery = #delivery{mandatory = false, QPids, fun (Pid) -> rabbit_amqqueue:deliver(Pid, Delivery) end), {routed, QPids}; -deliver(QNames, Delivery) -> +deliver(QNames, Delivery = #delivery{mandatory = Mandatory, + immediate = Immediate}) -> QPids = lookup_qpids(QNames), {Success, _} = delegate:invoke(QPids, @@ -80,9 +81,9 @@ deliver(QNames, Delivery) -> rabbit_amqqueue:deliver(Pid, Delivery) end), {Routed, Handled} = - lists:foldl(fun fold_deliveries/2, {false, []}, Success), - check_delivery(Delivery#delivery.mandatory, Delivery#delivery.immediate, - {Routed, Handled}). + lists:foldl(fun fold_deliveries/2, {false, []}, Success), + check_delivery(Mandatory, Immediate, {Routed, Handled}). + %% TODO: Maybe this should be handled by a cursor instead. %% TODO: This causes a full scan for each entry with the same source |
