diff options
author | Nathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk> | 2014-05-30 13:34:17 +0100 |
---|---|---|
committer | Nathan Lasseter <Nathan Lasseter nathan@bytemark.co.uk> | 2014-05-30 13:34:17 +0100 |
commit | 08fecb93995728ab53d78beefc329331d79f303f (patch) | |
tree | 3ba80e9dede138ce108ad53183cecc47069c736e /src/eco_proc.erl | |
parent | 59cee25c7f863e76bc82cd58b33f6f3b4e13770c (diff) |
Added directory structure and Makefile
Diffstat (limited to 'src/eco_proc.erl')
-rw-r--r-- | src/eco_proc.erl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/eco_proc.erl b/src/eco_proc.erl new file mode 100644 index 0000000..c179a26 --- /dev/null +++ b/src/eco_proc.erl @@ -0,0 +1,26 @@ +-module(eco_proc). +-export([proc/6]). + +proc(Watcher, _, _, _, 0, _) -> + Watcher ! {died, self()}; +proc(Watcher, Gets, Puts, Pool, Life, MaxLife) -> + receive + {From, stop} -> + From ! {ok, stopped, self()}, + Watcher ! {stopped, self()}, + {ok, stopped}; + {From, tick} -> + From ! {self(), tock}, + Watcher ! {tick, self()}, + Pool ! {self(), get, Gets}, + receive + {ok, get, Gets} -> + Pool ! {self(), put, Puts}, + receive + {ok, put, Puts} -> + proc(Watcher, Gets, Puts, Pool, MaxLife, MaxLife) + end; + {error, get, Gets} -> + proc(Watcher, Gets, Puts, Pool, Life - 1, MaxLife) + end + end. |