Slide 11
Slide 11 text
handle_infoで、メッセージを受け取る
defmodule MnesiaTrigger do
use GenServer
def init(table_name) do
:mnesia.subscribe({:table, table_name, :simple})
{:ok, []}
end
def handle_call({:events}, _from, state) do
{:reply, state, []} # イベントリスト取り出してクリア
end
def handle_info({:mnesia_table_event,
{:write, {_tbl, key, val}, from}} = msg, state) do
{:noreply, [{key, from}] ++ state }
end