Просмотр исходного кода

Move the 'MQTT_SOCKOPTS' macro to include/emqttd_protocol.hrl

Feng Lee 9 лет назад
Родитель
Сommit
dbcd79fb74
1 измененных файлов с 15 добавлено и 18 удалено
  1. 15 18
      src/emqttd_app.erl

+ 15 - 18
src/emqttd_app.erl

@@ -1,5 +1,5 @@
 %%--------------------------------------------------------------------
-%% Copyright (c) 2012-2017 Feng Lee <feng@emqtt.io>.
+%% Copyright (c) 2013-2017 EMQ Enterprise, Inc. (http://emqtt.io)
 %%
 %% Licensed under the Apache License, Version 2.0 (the "License");
 %% you may not use this file except in compliance with the License.
@@ -18,29 +18,26 @@
 
 -behaviour(application).
 
+-author("Feng Lee <feng@emqtt.io>").
+
 -include("emqttd_cli.hrl").
 
+-include("emqttd_protocol.hrl").
+
 %% Application callbacks
 -export([start/2, stop/1]).
 
 -export([start_listener/1, stop_listener/1]).
 
-%% MQTT SockOpts
--define(MQTT_SOCKOPTS, [binary, {packet, raw}, {reuseaddr, true},
-                        {backlog, 512}, {nodelay, true}]).
+-type(listener() :: {atom(), esockd:listen_on(), [esockd:option()]}).
 
--type listener() :: {atom(), esockd:listen_on(), [esockd:option()]}.
+-define(APP, emqttd).
 
 %%--------------------------------------------------------------------
 %% Application callbacks
 %%--------------------------------------------------------------------
 
--spec(start(StartType, StartArgs) -> {ok, pid()} | {ok, pid(), State} | {error, Reason} when
-      StartType :: normal | {takeover, node()} | {failover, node()},
-      StartArgs :: term(),
-      State     :: term(),
-      Reason    :: term()).
-start(_StartType, _StartArgs) ->
+start(_Type, _Args) ->
     print_banner(),
     emqttd_mnesia:start(),
     {ok, Sup} = emqttd_sup:start_link(),
@@ -63,12 +60,11 @@ stop(_State) ->
 %%--------------------------------------------------------------------
 
 print_banner() ->
-    ?PRINT("starting emqttd on node '~s'~n", [node()]).
+    ?PRINT("starting ~s on node '~s'~n", [?APP, node()]).
 
 print_vsn() ->
     {ok, Vsn} = application:get_key(vsn),
-    {ok, Desc} = application:get_key(description),
-    ?PRINT("~s ~s is running now~n", [Desc, Vsn]).
+    ?PRINT("~s ~s is running now~n", [?APP, Vsn]).
 
 %%--------------------------------------------------------------------
 %% Start Servers
@@ -176,14 +172,14 @@ start_listener({Proto, ListenOn, Opts}) when Proto == https; Proto == wss ->
     mochiweb:start_http('mqtt:wss', ListenOn, Opts, {emqttd_http, handle_request, []}).
 
 start_listener(Proto, ListenOn, Opts) ->
-    {ok, Env} = emqttd:env(protocol),
+    Env = lists:append(emqttd:env(client, []), emqttd:env(protocol, [])),
     MFArgs = {emqttd_client, start_link, [Env]},
     {ok, _} = esockd:open(Proto, ListenOn, merge_sockopts(Opts), MFArgs).
 
 merge_sockopts(Options) ->
-    SockOpts = emqttd_opts:merge(?MQTT_SOCKOPTS,
-                                 proplists:get_value(sockopts, Options, [])),
-    emqttd_opts:merge(Options, [{sockopts, SockOpts}]).
+    SockOpts = emqttd_misc:merge_opts(
+                 ?MQTT_SOCKOPTS, proplists:get_value(sockopts, Options, [])),
+    emqttd_misc:merge_opts(Options, [{sockopts, SockOpts}]).
 
 %%--------------------------------------------------------------------
 %% Stop Listeners
@@ -211,3 +207,4 @@ merge_sockopts_test_() ->
     ?_assert(merge_sockopts(Opts) == [{sockopts, ?MQTT_SOCKOPTS} | Opts]).
 
 -endif.
+