deliver(QPids, M, I, Message, WriterPid) -> case rabbit_router:deliver(QPids, M, I, Message) of {ok, DeliveredQPids} -> DeliveredQPids; {error, unroutable} -> ok = basic_return(Message, WriterPid, ?NO_ROUTE, <<"unroutable">>), []; {error, not_delivered} -> ok = basic_return(Message, WriterPid, ?NO_CONSUMERS, <<"not_delivered">>), [] end.