diff options
author | Linus Nordberg <linus@nordu.net> | 2017-07-06 18:15:08 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2017-07-06 18:15:08 +0200 |
commit | 489df8ecaf16ca7429eb15b31ffbe6f686f5b0d1 (patch) | |
tree | 0bf75621b35d7cecd06f4c12d054e9f9ec47f7a6 /merge/src/merge_fetch_newentries.erl | |
parent | 05235680257a54f112c44c7854b3afe8300acd40 (diff) |
wipmergefetch
Diffstat (limited to 'merge/src/merge_fetch_newentries.erl')
-rw-r--r-- | merge/src/merge_fetch_newentries.erl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/merge/src/merge_fetch_newentries.erl b/merge/src/merge_fetch_newentries.erl new file mode 100644 index 0000000..b45aaec --- /dev/null +++ b/merge/src/merge_fetch_newentries.erl @@ -0,0 +1,38 @@ +%%% Copyright (c) 2017, NORDUnet A/S. +%%% See LICENSE for licensing information. + +-module(merge_fetch_newentries). +-behaviour(gen_server). + +-export([start_link/1, loop/3]). +-export([init/1, handle_call/3, terminate/2, handle_cast/2, handle_info/2, + code_change/3]). + +start_link(Args) -> + gen_server:start_link(?MODULE, Args, []). + +init({Name, Address, Period}) -> + lager:info("~p:~p starting", [?MODULE, Name]), + ChildPid = spawn_link(?MODULE, loop, [Name, Address, Period]), + {ok, ChildPid}. + +handle_call(stop, _From, ChildPid) -> + lager:info("~p: stopping child process ~p", [?MODULE, ChildPid]), + exit(ChildPid, stop), + {stop, normal, stopped, nil}. + +loop(Name, Address, Period) -> + lager:info("~p:~p: asking storage node at ~p for missing entries", + [?MODULE, Name, Address]), + receive after Period -> ok end, + loop(Name, Address, Period). + +handle_cast(_Request, State) -> + {noreply, State}. +handle_info(_Info, State) -> + {noreply, State}. +code_change(_OldVsn, State, _Extra) -> + {ok, State}. +terminate(_Reason, _State) -> + lager:info("~p terminating", [?MODULE]), + ok. |