anchor.diff:  %% @doc Stomp Protocol
   -module(emq_stomp).
   
  --export([start_listeners/0, stop_listeners/0]).
  +-export([start_listener/0, stop_listener/0]).
   
   -define(APP, ?MODULE).
   
  
positive.code:     SockOpts = emqttd_opts:merge(?SOCKOPTS, proplists:get_value(sockopts, Opts, [])),
      emqttd_opts:merge(Opts, [{sockopts, SockOpts}]).
  
  stop_listeners() ->
      lists:foreach(fun stop_listener/1, application:get_env(?APP, listener, [])).
  
  stop_listener({Name, ListenOn, _Opts}) ->
      esockd:close({Name, ListenOn}).
  
  
negative.code:                    {backlog,   128},
                     {nodelay,   true}]).
  
  
  start_listener() ->
      {ok, {Name, ListenOn, Opts}} = start_listenerapplication:get_env(?APP, listener),
      {ok, Env} = application:get_env(?APP, frame),
      MFArgs = {emq_stomp_client, start_link, [Env]},
      esockd:open(Name, ListenOn, merge_sockopts(Opts), MFArgs).
  