- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
start_link(Shard, Subscriber) ->
gen_server:start_link(?MODULE, {server, Shard, Subscriber}, []).
start_link_client(Shard, RemoteNode, Parent) ->
gen_server:start_link(?MODULE, {client, Shard, RemoteNode, Parent}, []).
init({server, Shard, Subscriber}) ->
{ok, #server{ shard = Shard
, subscriber = Subscriber
}};
init({client, Shard, RemoteNode, Parent}) ->
{ok, #client{ parent = Parent
, shard = Shard
}}.
А, т.е. он "клиент" для какого-то сервера, но при этом "сервер" для кого-то ещё.