Change how `refresh_interval` is configured to be in line with README
This commit is contained in:
parent
dd59adaf0c
commit
b2d9455cc3
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue