Skip to content

Commit ee72f7e

Browse files
author
Emile Joubert
committed
remove rabbit dependencies from gm
1 parent cc50d8e commit ee72f7e

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/gm.erl

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@
386386
-define(HIBERNATE_AFTER_MIN, 1000).
387387
-define(DESIRED_HIBERNATE, 10000).
388388
-define(BROADCAST_TIMER, 25).
389+
-define(VERSION_START, 0).
389390
-define(SETS, ordsets).
390391
-define(DICT, orddict).
391392

@@ -515,7 +516,7 @@ group_members(Server) ->
515516
init([GroupName, Module, Args]) ->
516517
{MegaSecs, Secs, MicroSecs} = now(),
517518
random:seed(MegaSecs, Secs, MicroSecs),
518-
Self = make_member(self()),
519+
Self = make_member(GroupName),
519520
gen_server2:cast(self(), join),
520521
{ok, #state { self = Self,
521522
left = {Self, undefined},
@@ -1007,7 +1008,7 @@ prune_or_create_group(Self, GroupName) ->
10071008
mnesia:sync_transaction(
10081009
fun () -> GroupNew = #gm_group { name = GroupName,
10091010
members = [Self],
1010-
version = 0 },
1011+
version = ?VERSION_START },
10111012
case mnesia:read({?GROUP_TABLE, GroupName}) of
10121013
[] ->
10131014
mnesia:write(GroupNew),
@@ -1241,11 +1242,15 @@ prepare_members_state(MembersState) ->
12411242
build_members_state(MembersStateList) ->
12421243
?DICT:from_list(MembersStateList).
12431244

1244-
make_member(Pid) -> {rabbit_guid:guid(), Pid}.
1245+
make_member(GroupName) ->
1246+
{case read_group(GroupName) of
1247+
#gm_group { version = Version } -> Version;
1248+
{error, not_found} -> ?VERSION_START
1249+
end, self()}.
12451250

1246-
get_pid({_Guid, Pid}) -> Pid.
1251+
get_pid({_Version, Pid}) -> Pid.
12471252

1248-
get_pids(Ids) -> [Pid || {_Guid, Pid} <- Ids].
1253+
get_pids(Ids) -> [Pid || {_Version, Pid} <- Ids].
12491254

12501255
%% ---------------------------------------------------------------------------
12511256
%% Activity assembly

0 commit comments

Comments
 (0)