Advertisement
Guest User

Untitled

a guest
Oct 27th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 1.24 KB | None | 0 0
  1. % Jorge Andres Gonzales A01280927
  2. % Andres Sosa Silva A01176075
  3.  
  4. -module(servidor).
  5. -export([]).
  6.  
  7. %Nombre del servidor
  8. %nombre() -> 'servidor@DESKTOP-LVD2GRU'
  9.  
  10. inicio() -> register(servidorID,spawn(servidor, servidorLogic, [[]] )).
  11.  
  12. servidorLogic(Datos) ->
  13.     receive
  14.         {registra, {Usuario, Matricula, UsuarioID}} -> UsuarioID ! {Registro, ok},
  15.                                                servidorLogic(registraUsuario(Datos,Usuario,Matricula,true));
  16.  
  17.         {darbaja, {Usuario,Matricula,UsuarioID}} -> servidorLogic(bajaUsuario(Datos,Usuario,Matricula));
  18.  
  19.         verLista -> imprimeLista(Datos);
  20.  
  21.         stop -> io:format("Servidor Chups~n" , [])
  22.  
  23. end.
  24.  
  25. registraUsuario([{Us,Matricula}|R],Usuario,Matricula,Bool) -> [{Us,Matricula}|registraUsuario(R,Usuario,Matricula,false)];
  26. registraUsuario([{Us,Mat}|R],Usuario,Matricula,Bool) -> [{Us,Mat}|registraUsuario(R,Usuario,Matricula,Bool)];
  27. registraUsuario([],Usuario,Matricula,true) -> [{Usuario,Matricula}];
  28. registraUsuario([],Usuario,Matricula,false) -> [[]].       
  29.            
  30.  
  31. bajaUsuario([{Us,Matricula}|R],Usuario,Matricula) -> [registraUsuario(R,Usuario,Matricula)];
  32. bajaUsuario([{Us,Mat}|R],Usuario,Matricula) -> [{Us,Mat}|registraUsuario(R,Usuario,Matricula)];
  33. bajaUsuario([],Usuario,Matricula,false) -> [[]].
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement