This commit is contained in:
Feng Lee 2016-05-27 17:32:34 +08:00
parent 16cf487b4e
commit b26455a512
2 changed files with 13 additions and 12 deletions

View File

@ -33,7 +33,7 @@
{backlog, 512}, {backlog, 512},
{nodelay, true}]). {nodelay, true}]).
-type listener() :: {atom(), inet:port_number(), [esockd:option()]}. -type listener() :: {atom(), esockd:listen_on(), [esockd:option()]}.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% Application callbacks %% Application callbacks
@ -172,22 +172,22 @@ start_listeners() -> lists:foreach(fun start_listener/1, emqttd:env(listeners)).
%% Start mqtt listener %% Start mqtt listener
-spec(start_listener(listener()) -> any()). -spec(start_listener(listener()) -> any()).
start_listener({mqtt, Port, Opts}) -> start_listener(mqtt, Port, Opts); start_listener({mqtt, ListenOn, Opts}) -> start_listener(mqtt, ListenOn, Opts);
%% Start mqtt(SSL) listener %% Start mqtt(SSL) listener
start_listener({mqtts, Port, Opts}) -> start_listener(mqtts, Port, Opts); start_listener({mqtts, ListenOn, Opts}) -> start_listener(mqtts, ListenOn, Opts);
%% Start http listener %% Start http listener
start_listener({http, Port, Opts}) -> start_listener({http, ListenOn, Opts}) ->
mochiweb:start_http(Port, Opts, {emqttd_http, handle_request, []}); mochiweb:start_http(http, ListenOn, Opts, {emqttd_http, handle_request, []});
%% Start https listener %% Start https listener
start_listener({https, Port, Opts}) -> start_listener({https, ListenOn, Opts}) ->
mochiweb:start_http(Port, Opts, {emqttd_http, handle_request, []}). mochiweb:start_http(https, ListenOn, Opts, {emqttd_http, handle_request, []}).
start_listener(Protocol, Port, Opts) -> start_listener(Protocol, ListenOn, Opts) ->
MFArgs = {emqttd_client, start_link, [emqttd:env(mqtt)]}, MFArgs = {emqttd_client, start_link, [emqttd:env(mqtt)]},
esockd:open(Protocol, Port, merge_sockopts(Opts), MFArgs). esockd:open(Protocol, ListenOn, merge_sockopts(Opts), MFArgs).
merge_sockopts(Options) -> merge_sockopts(Options) ->
SockOpts = emqttd_opts:merge(?MQTT_SOCKOPTS, SockOpts = emqttd_opts:merge(?MQTT_SOCKOPTS,
@ -201,5 +201,6 @@ merge_sockopts(Options) ->
%% @doc Stop Listeners %% @doc Stop Listeners
stop_listeners() -> lists:foreach(fun stop_listener/1, emqttd:env(listeners)). stop_listeners() -> lists:foreach(fun stop_listener/1, emqttd:env(listeners)).
stop_listener({Protocol, Port, _Opts}) -> esockd:close({Protocol, Port}). %% @private
stop_listener({Protocol, ListenOn, _Opts}) -> esockd:close(Protocol, ListenOn).

View File

@ -453,12 +453,12 @@ trace_off(Who, Name) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% @doc Listeners Command %% @doc Listeners Command
listeners([]) -> listeners([]) ->
foreach(fun({{Protocol, Port}, Pid}) -> foreach(fun({{Protocol, ListenOn}, Pid}) ->
Info = [{acceptors, esockd:get_acceptors(Pid)}, Info = [{acceptors, esockd:get_acceptors(Pid)},
{max_clients, esockd:get_max_clients(Pid)}, {max_clients, esockd:get_max_clients(Pid)},
{current_clients,esockd:get_current_clients(Pid)}, {current_clients,esockd:get_current_clients(Pid)},
{shutdown_count, esockd:get_shutdown_count(Pid)}], {shutdown_count, esockd:get_shutdown_count(Pid)}],
?PRINT("listener on ~s:~w~n", [Protocol, Port]), ?PRINT("listener on ~s:~s~n", [Protocol, esockd:to_string(ListenOn)]),
foreach(fun({Key, Val}) -> foreach(fun({Key, Val}) ->
?PRINT(" ~-16s: ~w~n", [Key, Val]) ?PRINT(" ~-16s: ~w~n", [Key, Val])
end, Info) end, Info)