anchor.diff:            % post_load()
             MyDHT = pid_groups:get_my(dht_node),
             DirKey = int_to_str(get_random_directory_key()),
  -          comm:send_local(MyDHT, {lb_active, {request_load, DirKey, self()}}),
  +          % request dht load to post it in the directory afterwards
  +          request_dht_load(),
             State#state{schedule = []}
  +    end;
  +
  +%% we received load because of publish load trigger or emergency
  +handle_msg({post_load, LoadInfo, DirKey}, State) ->
  +    ?TRACE("Posting load ~p~n", [LoadInfo]),
  +    post_load_to_directory(LoadInfo, DirKey),
  +    %% TODO Emergency Threshold has been already check at the node overloaded...
  +    EmergencyThreshold = State#state.threshold_emergency,
  +    case LoadInfo#lb_info.utilization > EmergencyThreshold of
  +        true  ->
  +            MySchedule = State#state.schedule,
  +            directory_routine(DirKey, emergency, MySchedule);
  +        false -> State
       end;
   
   handle_msg({directory_trigger}, State) ->
  
positive.code:             Pool = Directory#directory.pool,
              K = case Type of
                      periodic ->
                          AvgUtil = gb_sets:fold(fun(El, Acc) -> Acc + El#lb_info.utilization end, 0, Pool) / gb_sets:size(Pool),
                          (1 + AvgUtil) / 2;
                      emergency ->
  
negative.code:     MyDHT = pid_groups:get_my(dht_node),
      comm:send_local(MyDHT, {get_state, comm:this(), my_range}).
  
  -spec request_dht_load() -> ok.
  request_dht_load() ->
      MyDHT = pid_groups:find_a(dht_node),
      comm:send_local(MyDHT, {lb_active, {request_load, self()}}).
  
  -spec int_to_str(integer()) -> string().
  int_to_str(N) ->
      erlang:integer_to_list(N).
  