summaryrefslogtreecommitdiff
path: root/src/mem3_sync_event.erl
blob: 55f3840c7392c1e8402b3627f5085c353d865091 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-module(mem3_sync_event).
-behaviour(gen_event).

-export([init/1, handle_event/2, handle_call/2, handle_info/2, terminate/2,
    code_change/3]).

init(_) ->
    {ok, nil}.

handle_event({Up, Node}, State) when Up == nodeup; Up == node_join ->
    mem3_sync:add_node(Node);

handle_event({Down, Node}, State) when Down == nodedown; Down == node_leave ->
    mem3_sync:remove_node(Node);

handle_event(_Event, State) ->
    {ok, State}.

handle_call(_Request, State) ->
    {ok, ok, State}.

handle_info(_Info, State) ->
    {ok, State}.

terminate(_Reason, _State) ->
    ok.

code_change(_OldVsn, State, _Extra) ->
    {ok, State}.