anchor.diff:  update_timeout_metrics(Id) ->
       lager:error("unknown iq id ~p", Id).
   
  -schedule_publishing(SchedulingPolicy) ->
  -    case get_parameter(scheduling_policy) of
  -        SchedulingPolicy ->
  -            DelayBetweenMessages = get_parameter(publication_delay),
  -            erlang:send_after(DelayBetweenMessages, self(), publish_item);
  -        _ -> ok
  -    end.
  -
  +schedule_publishing(Pid) ->
  +    throttle:send(?PUBLICATION_THROTTLING, Pid, publish_item).
   
   %%------------------------------------------------------------------------------------------------
   %% User connection
  
positive.code:         publish_item ->
              {TS, Id} = publish_pubsub_item(Client),
              amoc_metrics:update_counter(publication_query, 1),
              schedule_publishing(async),
              user_loop(Client, Requests#{Id=>{new, TS}});
          {'DOWN', _, process, Pid, Info} when Pid =:= Client#client.rcv_pid ->
              lager:error("TCP connection process ~p down: ~p", [Pid, Info]);
  
negative.code: 
  -required_variable({'IQ_TIMEOUT',         <<"IQ timeout (milliseconds, def: 10000ms)"/utf8>>}).
  -reqeired_variable({'COORDINATOR_DELAY',  <<"Delay after N subscriptions (milliseconds, def: 0ms)"/utf8>>}).
  -required_variable({'NODE_CREATION_RATE', <<"Rate of node creations (per minute, def:600)">>}).
  -required_variable({'PUBLICATION_SIZE',   <<"Size of additional payload (bytes, def:300)">>}).
  -required_variable({'PUBLICATION_RATE',   <<"Rate of publications (per minute, def:1500)">>}).
  -required_variable({'N_OF_SUBSCRIBERS',   <<"Number of subscriptions for each node (def: 50)"/utf8>>}).
  -required_variable({'ACTIVATION_POLICY',  <<"Publish after subscribtion of (def: all_nodes | n_nodes)"/utf8>>}).
  -required_variable({'MIM_HOST',           <<"The virtual host served by the server (def: <<\"localhost\">>)"/utf8>>}).
  
  -define(ALL_PARAMETERS,[
      {iq_timeout,         'IQ_TIMEOUT',                    10000, positive_integer},
      {coordinator_delay,  'COORDINATOR_DELAY',                 0, nonnegative_integer},
      {node_creation_rate, 'NODE_CREATION_RATE',              600, positive_integer},
      {publication_size,   'PUBLICATION_SIZE',                300, nonnegative_integer},
      {publication_rate,   'PUBLICATION_RATE',               1500, positive_integer},
      {n_of_subscribers,   'N_OF_SUBSCRIBERS',                 50, nonnegative_integer},
      {activation_policy,  'ACTIVATION_POLICY',         all_nodes, [all_nodes, n_nodes]},
      {mim_host,           'MIM_HOST',            <<"localhost">>, bitstring}
  ]).
  
  