Change C210's sleep time to be proportional/ranked to member's rank
This commit is contained in:
parent
c0ef199c6f
commit
a2f087181e
1 changed files with 10 additions and 2 deletions
|
@ -745,10 +745,10 @@ react_to_env_C200(Retries, P_latest, S) ->
|
||||||
end,
|
end,
|
||||||
react_to_env_C210(Retries, S).
|
react_to_env_C210(Retries, S).
|
||||||
|
|
||||||
react_to_env_C210(Retries, S) ->
|
react_to_env_C210(Retries, #ch_mgr{myflu=MyFLU, proj=Proj} = S) ->
|
||||||
put(react, [c210|get(react)]),
|
put(react, [c210|get(react)]),
|
||||||
%% TODO: implement the ranked sleep thingie?
|
%% TODO: implement the ranked sleep thingie?
|
||||||
timer:sleep(100),
|
sleep_ranked_order(10, 100, MyFLU, Proj#projection.all_members),
|
||||||
react_to_env_C220(Retries, S).
|
react_to_env_C220(Retries, S).
|
||||||
|
|
||||||
react_to_env_C220(Retries, S) ->
|
react_to_env_C220(Retries, S) ->
|
||||||
|
@ -926,6 +926,14 @@ find_common_prefix([H|L1], [H|L2]) ->
|
||||||
find_common_prefix(_, _) ->
|
find_common_prefix(_, _) ->
|
||||||
[].
|
[].
|
||||||
|
|
||||||
|
sleep_ranked_order(MinSleep, MaxSleep, FLU, FLU_list) ->
|
||||||
|
Front = lists:takewhile(fun(X) -> X /=FLU end, FLU_list),
|
||||||
|
Index = length(Front) + 1,
|
||||||
|
NumNodes = length(FLU_list),
|
||||||
|
SleepIndex = NumNodes - Index,
|
||||||
|
SleepChunk = MaxSleep div NumNodes,
|
||||||
|
timer:sleep(MinSleep + (SleepChunk * SleepIndex)).
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
perhaps_call_t(S, Partitions, FLU, DoIt) ->
|
perhaps_call_t(S, Partitions, FLU, DoIt) ->
|
||||||
|
|
Loading…
Reference in a new issue