Display local route
This commit is contained in:
parent
683c74b808
commit
8462fa8e89
|
@ -467,16 +467,32 @@ subscription_list(Key, PageNo, PageSize) ->
|
||||||
lookup_table(Fun, PageNo, PageSize).
|
lookup_table(Fun, PageNo, PageSize).
|
||||||
|
|
||||||
route_list(Topic, PageNo, PageSize) when ?EMPTY_KEY(Topic) ->
|
route_list(Topic, PageNo, PageSize) when ?EMPTY_KEY(Topic) ->
|
||||||
TotalNum = lists:sum([ets:info(Tab, size) || Tab <- tables()]),
|
Tables = [mqtt_route],
|
||||||
Qh = qlc:append([qlc:q([E || E <- ets:table(Tab)]) || Tab <- tables()]),
|
TotalNum = lists:sum([ets:info(Tab, size) || Tab <- [mqtt_route, mqtt_local_route]]),
|
||||||
query_table(Qh, PageNo, PageSize, TotalNum);
|
Qh = qlc:append([qlc:q([E || E <- ets:table(Tab)]) || Tab <- Tables]),
|
||||||
|
Data = query_table(Qh, PageNo, PageSize, TotalNum),
|
||||||
|
Route = get_value(result, Data),
|
||||||
|
LocalRoute = local_route_list(Topic, PageNo, PageSize),
|
||||||
|
lists:keyreplace(result, 1, Data, {result, lists:append(Route, LocalRoute)});
|
||||||
|
|
||||||
route_list(Topic, PageNo, PageSize) ->
|
route_list(Topic, PageNo, PageSize) ->
|
||||||
Fun = fun() -> lists:append([ets:lookup(Tab, Topic) || Tab <- tables()]) end,
|
Tables = [mqtt_route],
|
||||||
lookup_table(Fun, PageNo, PageSize).
|
Fun = fun() -> lists:append([ets:lookup(Tab, Topic) || Tab <- Tables]) end,
|
||||||
|
Route = lookup_table(Fun, PageNo, PageSize),
|
||||||
|
LocalRoute = local_route_list(Topic, PageNo, PageSize),
|
||||||
|
lists:append(Route, LocalRoute).
|
||||||
|
|
||||||
|
local_route_list(Topic, PageNo, PageSize) when ?EMPTY_KEY(Topic) ->
|
||||||
|
TotalNum = lists:sum([ets:info(Tab, size) || Tab <- [mqtt_local_route]]),
|
||||||
|
Qh = qlc:append([qlc:q([E || E <- ets:table(Tab)]) || Tab <- [mqtt_local_route]]),
|
||||||
|
Data = query_table(Qh, PageNo, PageSize, TotalNum),
|
||||||
|
lists:map(fun({Topic1, Node}) -> {<<"$local/", Topic1/binary>>, Node} end, get_value(result, Data));
|
||||||
|
|
||||||
|
local_route_list(Topic, PageNo, PageSize) ->
|
||||||
|
Fun = fun() -> lists:append([ets:lookup(Tab, Topic) || Tab <- [mqtt_local_route]]) end,
|
||||||
|
Data = lookup_table(Fun, PageNo, PageSize),
|
||||||
|
lists:map(fun({Topic1, Node}) -> {<<"$local/", Topic1/binary>>, Node} end, Data).
|
||||||
|
|
||||||
tables() ->
|
|
||||||
[mqtt_route, mqtt_local_route].
|
|
||||||
|
|
||||||
format_error(Val, Msg) ->
|
format_error(Val, Msg) ->
|
||||||
re:replace(Msg, <<"\\$\\{[^}]+\\}">>, Val, [global, {return, binary}]).
|
re:replace(Msg, <<"\\$\\{[^}]+\\}">>, Val, [global, {return, binary}]).
|
||||||
|
|
Loading…
Reference in New Issue