| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/timed_cache_manager.erl')
| -rw-r--r-- | src/timed_cache_manager.erl | 76 | 
1 files changed, 0 insertions, 76 deletions
| diff --git a/src/timed_cache_manager.erl b/src/timed_cache_manager.erl deleted file mode 100644 index 45b013c..0000000 --- a/src/timed_cache_manager.erl +++ /dev/null @@ -1,76 +0,0 @@ --module(timed_cache_manager). --export( -   [ -      new/2, -      start/1, -      fetch/2 -   ] -). -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%% Manager %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -manager_core_loop (DB) -> -   receive -      terminate -> ets:delete(DB) -   end. - -new_database (DB) -> -   ets:new( -      DB, -      [ -         set, -         public, -         {keypos, 1}, -         {read_concurrency, true} -      ] -   ). - -%%%% Timer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -timer_cleanup (DB, ObjectID) -> -   ets:delete(DB, ObjectID). - -timer_core_loop (DB, ObjectID, Timeout) -> -   receive -      ok -> timer_core_loop(DB, ObjectID, Timeout); -      terminate -> ok -   after Timeout -> -      timer_cleanup(DB, ObjectID) -   end. - -add_timer (DB, ObjectID, Timeout) -> -   spawn(timed_cache_manager, timer_core_loop, [DB, ObjectID, Timeout]). - -add_to_cache (DB, ObjectID) -> -   TimerPID = add_timer(DB, ObjectID, 60000), -   Data = nothing, %% Do the actual NoSQL Fetch here. -   ets:insert(DB, {ObjectID, TimerPID, Data}), -   Data. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -new (Manager, DB) -> -   register( -      Manager, -      spawn( -         timed_cache_manager, -         start, -         [DB] -      ) -   ). - -start (DB) -> -   new_database(DB), -   manager_core_loop(DB). - -fetch (DB, ObjectID) -> -   case ets:lookup(DB, ObjectID) of -      [] -> -         add_to_cache(DB, ObjectID); - -      [{_, TimerPID, Data}] -> -         TimerPID ! ok, -         Data -   end. | 


