anchor.diff:  
   -author("Feng Lee <feng@emqtt.io>").
   
  --export([start/0,
  +-export([start/0, env/1,
            open_listeners/1, close_listeners/1,
            load_all_plugins/0, unload_all_plugins/0,
            load_plugin/1, unload_plugin/1,
  
positive.code:     application:start(emqttd).
  
  %%------------------------------------------------------------------------------
  %% @doc Open Listeners
  %% @end
  %%------------------------------------------------------------------------------
  
negative.code: 	mochiweb:start_http(Port, Options, MFArgs).
  
  open_listener(Protocol, Port, Options) ->
      MFArgs = {emqttd_client, start_link, [env(packet)]},
      esockd:open(Protocol, Port, merge_sockopts(Options) , MFArgs).
  
  merge_sockopts(Options) ->
      SockOpts = emqttd_opts:merge(?MQTT_SOCKOPTS,
                                   proplists:get_value(sockopts, Options, [])),
      emqttd_opts:merge(Options, [{sockopts, SockOpts}]).
  
  %%------------------------------------------------------------------------------
  %% @doc Close Listeners
  