summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-07-11 18:02:26 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-07-11 18:02:26 +0200 |
commit | acb9dd3220a3edcac93aa11d1d74d008e2fb23ed (patch) | |
tree | 98b45af3f7eb9c7d812ed33a07e6a0f665a7a8cd /src/shared/io/sh_timed_caches_manager.erl | |
parent | fde827cba1ff3d889135c74ee1978098465fd200 (diff) |
"sh_" -> "shr_".
Diffstat (limited to 'src/shared/io/sh_timed_caches_manager.erl')
-rw-r--r-- | src/shared/io/sh_timed_caches_manager.erl | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/src/shared/io/sh_timed_caches_manager.erl b/src/shared/io/sh_timed_caches_manager.erl deleted file mode 100644 index ea92c08..0000000 --- a/src/shared/io/sh_timed_caches_manager.erl +++ /dev/null @@ -1,152 +0,0 @@ --module(sh_timed_caches_manager). --behavior(gen_server). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% 'gen_server' Exports --export( - [ - init/1, - handle_cast/2, - handle_call/3, - terminate/2, - code_change/3, - format_status/2, - handle_info/2 - ] -). - -%%%% Actual Interface --export( - [ - start/0, - new_cache/3, - delete_cache/2, - get_timeout/0 - ] -) -. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -remove_cache (DB) -> - ets:delete(DB). - -add_cache (DB, none) -> - io:format("~nTimed Caches Manager added a new cache. ~n"), - ets:new( - DB, - [ - set, - public, - named_table, - {keypos, 1}, - {read_concurrency, true}, - {heir, none} - ] - ); -add_cache (DB, Heir) -> - io:format("~nTimed Caches Manager added a new cache. ~n"), - ets:new( - DB, - [ - set, - public, - named_table, - {keypos, 1}, - {read_concurrency, true}, - {heir, Heir, DB} - ] - ). - -inherit_cache (CacheList, DB, Heir) -> - case lists:member(DB, CacheList) of - true -> - ets:setopts(DB, {heir, Heir, DB}), - CacheList; - - false -> - [DB|CacheList] - end. - -remove_cache (CacheList, DB) -> - case lists:member(DB, CacheList) of - true -> - remove_cache(DB), - lists:delete(DB, CacheList); - false -> - CacheList - end. - -add_cache (CacheList, DB, Heir) -> - case lists:member(DB, CacheList) of - true when (Heir =:= none) -> - CacheList; - - true -> - ets:setopts(DB, {heir, Heir, DB}), - CacheList; - - false -> - add_cache(DB, Heir), - [DB|CacheList] - end. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% 'gen_server' functions -init (CacheList) -> - io:format("~nStarting Timed Caches Manager..."), - {ok, CacheList}. - -handle_call ({remove, CacheName}, _Caller, State) -> - {noreply, remove_cache(State, CacheName)}; -handle_call ({add, CacheName, Heir}, _Caller, State)-> - {noreply, add_cache(State, CacheName, Heir)}; -handle_call ({inherit, CacheName, Heir}, _Caller, State)-> - {noreply, inherit_cache(State, CacheName, Heir)}; -handle_call (terminate, _, State) -> - {stop, normal, State}. - -handle_cast ({remove, CacheName}, State) -> - {noreply, remove_cache(State, CacheName)}; -handle_cast ({add, CacheName, Heir}, State)-> - {noreply, add_cache(State, CacheName, Heir)}; -handle_cast ({inherit, CacheName, Heir}, State)-> - {noreply, inherit_cache(State, CacheName, Heir)}; -handle_cast (terminate, State) -> - {stop, normal, State}. - -terminate (_Reason, []) -> - ok; -terminate (Reason, [CacheName|OtherCaches]) -> - remove_cache(CacheName), - terminate(Reason, OtherCaches). - -code_change (_, State, _) -> - {ok, State}. - -format_status (_, [_, State]) -> - [{data, [{"State", State}]}]. - -handle_info(_, State) -> - {noreply, State}. - -%%%% Interface Functions -start () -> - gen_server:start(?MODULE, [], []). - -new_cache (ManagerPid, DB, Heir) -> - gen_server:cast(ManagerPid, {add, DB, Heir}). - -delete_cache (ManagerPid, DB) -> - gen_server:cast(ManagerPid, {remove, DB}). - -get_timeout () -> - 120000. % 2min. |