anchor.diff:  %%%
   %%% @end
   %%%-----------------------------------------------------------------------------
  +
   -module(emqttd_pubsub).
   
   -author("Feng Lee <feng@emqtt.io>").
  
positive.code:             end
      end.
  
  add_subscriber({TopicR, Subscriber}) when is_record(TopicR, mqtt_topic) ->
      case add_topic(TopicR) of
          ok ->
              mnesia:write(subscriber, Subscriber, write);
          Error -> 
              Error
  
negative.code: init([Id, _Opts]) ->
      process_flag(min_heap_size, 1024*1024),
      gproc_pool:connect_worker(pubsub, {?MODULE, Id}),
      %%TODO: gb_trees to replace maps?
      {ok, #state{id = Id, submap = maps:new()}}.
  
  handle_call({subscribe, SubPid, Topics}, _From, State) ->
  