From 2828b4ef0f4bb74edd39188f81dd6d3ee2a67ec6 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 3 Nov 2015 01:12:28 +0100 Subject: Implement counter as gen_server --- src/counter.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/counter.erl') diff --git a/src/counter.erl b/src/counter.erl index b46503e..4f4b3f1 100644 --- a/src/counter.erl +++ b/src/counter.erl @@ -16,8 +16,14 @@ start_link() -> init(_Args) -> {ok, 0}. -handle_call(_Request, _From, State) -> - {reply, ok, State}. +handle_call(next, _From, N) when N >= ?MAXCOUNT -> + {reply, 0, 0}; +handle_call(next, _From, N) -> + {reply, N + 1, N + 1}; +handle_call(get, _From, N) -> + {reply, N, N}; +handle_call({set, N}, _From, _N) -> + {reply, N, N}. handle_cast(_Msg, State) -> {noreply, State}. -- cgit v1.2.3