diff options
author | Vincent Ambo <tazjin@google.com> | 2019-12-21T00·37+0000 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2019-12-21T00·38+0000 |
commit | 8ab71587a7fe532785950ed9dbc2bcfa1acdfcc4 (patch) | |
tree | d83d3b872c8710dbf22292f3e317f9e77018bc49 /presentations/erlang-2016/src/hello_server2.erl | |
parent | 421ef0a77f366cfa7d7d658f685f63da0264df87 (diff) |
chore(erlang-presentation): Prepare for depot merge
Diffstat (limited to 'presentations/erlang-2016/src/hello_server2.erl')
-rw-r--r-- | presentations/erlang-2016/src/hello_server2.erl | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/presentations/erlang-2016/src/hello_server2.erl b/presentations/erlang-2016/src/hello_server2.erl new file mode 100644 index 000000000000..24bb934ee503 --- /dev/null +++ b/presentations/erlang-2016/src/hello_server2.erl @@ -0,0 +1,36 @@ +-module(hello_server2). +-behaviour(gen_server). +-compile(export_all). + +%%% Start callback for supervisor +start_link() -> + gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). + +%%% gen_server callbacks + +init([]) -> + {ok, sets:new()}. + +handle_call({greet, Name}, _From, State) -> + io:format("Hello ~s!~n", [Name]), + NewState = sets:add_element(Name, State), + {reply, ok, NewState}; + +handle_call({bye, Name}, _From, State) -> + io:format("Goodbye ~s!~n", [Name]), + NewState = sets:del_element(Name, State), + {reply, ok, NewState}. + +terminate(normal, State) -> + [io:format("Goodbye ~s!~n", [Name]) || Name <- State], + ok. + +%%% Unused gen_server callbacks +code_change(_OldVsn, State, _Extra) -> + {ok, State}. + +handle_info(_Info, State) -> + {noreply, State}. + +handle_cast(_Request, State) -> + {noreply, State}. |