GenServer
はOTPの規約の1つ
規約ごとに実装しなければならないコールバック関数がある
Elixirはデフォルトのコールバック関数を生成する
デフォルトの挙動を変えたい関数のみ実装すれば良い
GenServer
のコールバック関数は以下の通り
- init(start_arguments)
- handle_call(request, from, state)
- handle_cast(request, state)
- handle_info(info, state)
- terminate(reason, state)
- code_change(from_version, state, extra)
- format_status(reason, [pdict, state])