Change how `refresh_interval` is configured to be in line with README

This commit is contained in:
Joseph Yiasemides 2016-02-16 10:04:36 +01:00
parent dd59adaf0c
commit b2d9455cc3
3 changed files with 18 additions and 18 deletions

View File

@ -40,7 +40,7 @@
| {unknown, state()}.
-record(entry, {filename :: string(), identifier :: tuple()}).
-record(state, {directory_change_time :: integer(), whitelist_directory :: string(), interval :: integer()}).
-record(state, {directory_change_time :: integer(), whitelist_directory :: string(), refresh_interval :: integer()}).
%% OTP Supervision
@ -112,7 +112,7 @@ init(Settings) ->
erlang:process_flag(trap_exit, true),
ets:new(table_name(), table_options()),
Path = path(Settings),
Interval = interval(Settings),
Interval = refresh_interval(Settings),
Initial = modification_time(Path),
tabulate(Path),
if
@ -124,7 +124,7 @@ init(Settings) ->
{ok,
#state{directory_change_time = Initial,
whitelist_directory = Path,
interval = Interval}}.
refresh_interval = Interval}}.
handle_call(mode, _, St) ->
{reply, mode(St), St};
@ -136,7 +136,7 @@ handle_call(_, _, St) ->
handle_cast(_, St) ->
{noreply, St}.
handle_info(refresh, #state{interval=Interval}=St) ->
handle_info(refresh, #state{refresh_interval=Interval}=St) ->
New = refresh(St),
erlang:send_after(Interval, erlang:self(), refresh),
{noreply, St#state{directory_change_time=New}};
@ -152,7 +152,7 @@ code_change(_,_,_) ->
%% Ancillary & Constants
mode(#state{interval = I}) ->
mode(#state{refresh_interval = I}) ->
if
I =:= 0 -> 'manual';
I > 0 -> 'automatic'
@ -168,9 +168,9 @@ refresh(#state{whitelist_directory = Path, directory_change_time = Old}) ->
end,
New.
interval(Pairs) ->
{interval, Time} = lists:keyfind(interval, 1, Pairs),
timer:seconds(Time).
refresh_interval(Pairs) ->
{refresh_interval, S} = lists:keyfind(refresh_interval, 1, Pairs),
timer:seconds(S).
path(Pairs) ->
{directory, Path} = lists:keyfind(directory, 1, Pairs),

View File

@ -41,7 +41,7 @@ start(normal, _) ->
%% The below two are properties, that is, tuple of name/value.
Path = whitelist_path(),
Interval = interval_time(),
Interval = refresh_interval_time(),
rabbit_trust_store_sup:start_link([Path, Interval]).
@ -72,16 +72,16 @@ whitelist_path() ->
ok = filelib:ensure_dir(Path),
{directory, Path}.
interval_time() ->
case application:get_env(interval) of
refresh_interval_time() ->
case application:get_env(refresh_interval) of
undefined ->
{interval, default_interval()};
{ok, Seconds} when is_integer(Seconds), Seconds >= 0 ->
{interval, Seconds}
{refresh_interval, default_refresh_interval()};
{ok, {seconds, S}} when is_integer(S), S >= 0 ->
{refresh_interval, S}
end.
default_directory() ->
filename:join([os:getenv("HOME"), "rabbit", "whitelist"]) ++ "/".
default_interval() ->
default_refresh_interval() ->
30.

View File

@ -143,7 +143,7 @@ removed_certificate_denied_from_AMQP_client_test_() ->
ok = file:make_dir(friendlies()),
ok = whitelist(friendlies(), "bob", C, _X),
ok = change_configuration(rabbitmq_trust_store, [
{directory, friendlies()}, {interval, interval()}]),
{directory, friendlies()}, {refresh_interval, {seconds, interval()}}]),
%% When: we wait for at least one second (the accuracy of the
%% file system's time), remove the whitelisted certificate,
@ -182,7 +182,7 @@ installed_certificate_accepted_from_AMQP_client_test_() ->
ok = file:make_dir(friendlies()),
ok = change_configuration(rabbitmq_trust_store, [
{directory, friendlies()}, {interval, interval()}]),
{directory, friendlies()}, {refresh_interval, {seconds, interval()}}]),
%% When: we wait for at least one second (the accuracy of the
%% file system's time), add a certificate to the directory,
@ -231,7 +231,7 @@ whitelist_directory_DELTA_test_() ->
ok = whitelist(friendlies(), "foo", C, _X),
ok = whitelist(friendlies(), "bar", D, _Y),
ok = change_configuration(rabbitmq_trust_store, [
{directory, friendlies()}, {interval, interval()}]),
{directory, friendlies()}, {refresh_interval, {seconds, interval()}}]),
%% When: we wait for at least one second (the accuracy
%% of the file system's time), delete a certificate and