anchor.diff:  
   
   % Internal API
  +-spec(maybe_throttle(inet:ip_address() | inet:hostname()) -> throttle_result()).
   maybe_throttle(Host) ->
     case erldns_storage:select(host_throttle, Host) of
       [{_, {ReqCount, LastRequestAt}}] -> 
  
positive.code:       {ok, Host, 1}
    end.
  
  record_request({ThrottleResponse, Host, ReqCount}) ->
    erldns_storage:insert(host_throttle, {Host, {ReqCount, timestamp()}}),
    {ThrottleResponse, Host, ReqCount}.
  
  is_throttled({127,0,0,1}, ReqCount, _) -> {false, ReqCount + 1};
  is_throttled(Host, ReqCount, LastRequestAt) ->
  
negative.code:   gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
  
  %% @doc Throttle the given message if necessary.
  -spec throttle(dns:message(), Context :: {term(), Host :: inet:ip_address() | inet:hostname()}) ->
      ok | throttle_result().
  throttle(_Message, {tcp, _Host}) ->
    ok;
  throttle(Message, {_, Host}) ->
  