|
|
@@ -379,7 +379,7 @@ do_route(Routes, Delivery, PersistRes) ->
|
|
|
).
|
|
|
|
|
|
do_route2({To, Node}, Delivery) when Node =:= node() ->
|
|
|
- {Node, To, dispatch_local(To, Delivery)};
|
|
|
+ {Node, To, do_dispatch(To, Delivery)};
|
|
|
do_route2({To, Node}, Delivery) when is_atom(Node) ->
|
|
|
{Node, To, forward(Node, To, Delivery, emqx:get_config([rpc, mode]))};
|
|
|
do_route2({To, Group}, Delivery) when is_tuple(Group); is_binary(Group) ->
|
|
|
@@ -452,15 +452,6 @@ do_forward(Node, To, Delivery, sync) ->
|
|
|
%% `emqx_broker_proto_v1:forward_async/3`
|
|
|
dispatch(Topic, Delivery = #delivery{message = Msg}) ->
|
|
|
emqx_external_trace:msg_handle_forward(
|
|
|
- Delivery,
|
|
|
- emqx_external_trace:msg_attrs(Msg),
|
|
|
- fun(DeliveryWithTrace) ->
|
|
|
- dispatch_local(Topic, DeliveryWithTrace)
|
|
|
- end
|
|
|
- ).
|
|
|
-
|
|
|
-dispatch_local(Topic, Delivery = #delivery{message = Msg}) ->
|
|
|
- emqx_external_trace:msg_dispatch(
|
|
|
Delivery,
|
|
|
emqx_external_trace:msg_attrs(Msg),
|
|
|
fun(DeliveryWithTrace) ->
|
|
|
@@ -468,6 +459,7 @@ dispatch_local(Topic, Delivery = #delivery{message = Msg}) ->
|
|
|
end
|
|
|
).
|
|
|
|
|
|
+%% @doc Dispatch message to local subscribers.
|
|
|
-spec do_dispatch(emqx_types:topic() | emqx_types:share(), emqx_types:delivery()) ->
|
|
|
emqx_types:deliver_result().
|
|
|
do_dispatch(Topic, Delivery = #delivery{}) when is_binary(Topic) ->
|