Advertisement
Guest User

Untitled

a guest
Apr 1st, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.77 KB | None | 0 0
  1. -module(index).
  2. -export([index/1]).
  3.  
  4. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  5.  
  6. -define(Debug, true).
  7.  
  8. debug(X, Y) ->
  9.     case ?Debug of
  10.         true -> io:fwrite(X, Y);
  11.         false -> ok
  12.     end.
  13.  
  14. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  15.  
  16. -spec index(list({integer(), list(pid())})) -> ok.
  17.  
  18. index(Catalog) ->
  19.     debug("Catalog is ~w~n", [Catalog]),
  20.     receive
  21.         {getCatalog, Client} ->
  22.             Client!{ok, Catalog},
  23.             index(Catalog);
  24.  
  25.         {addOwner, ItemId, Peer} ->
  26.             index(addOwner(ItemId, Peer, Catalog))
  27.     end.
  28.  
  29. addOwner(Id, Owner, []) ->
  30.     [{Id, [Owner]}];
  31.  
  32. addOwner(Id, Owner, [{Id, Owners}|DB]) ->
  33.     [{Id, [Owner|Owners]}|DB];
  34.  
  35. addOwner(Id, Owner, [X|DB]) ->
  36.     [X | addOwner(Id, Owner, DB)].
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement