Anton Shestakov <engored@ya.ru>, Mon, 03 Mar 2014 15:09:55 +0900
Make rps_nickserv a gen_server.
src/rps_nickserv.erl
Permissions: -rw-r--r--
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). -export([start_link/0, nick/2, whois/1]). gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). handle_call({nick, Who, Nickname}, _From, Nicknames) -> io:format("~w registered as ~s.~n", [Who, Nickname]), {reply, ok, dict:store(Who, Nickname, Nicknames)}; handle_call({whois, Who}, _From, Nicknames) -> {reply, dict:fetch(Who, Nicknames), Nicknames}. handle_cast(_Msg, State) -> {noreply, State}. handle_info(_Msg, State) -> {noreply, State}. terminate(_Reason, _State) -> ok. code_change(_OldVersion, State, _Extra) -> {ok, State}. gen_server:call(?MODULE, {nick, Who, Nickname}). gen_server:call(?MODULE, {whois, Who}).