%%%------------------------------------------------------------------- %%% @author farid %%% @copyright (C) 2018, <COMPANY> %%% @doc %%% %%% @end %%% Created : 06. Jun 2018 10:34 AM %%%------------------------------------------------------------------- -module(exchange). -author("farid"). %% API -export([start/0]). start() -> {_, EachData}=file:consult("calls.txt"), io:fwrite("\n** Calls to be made **\n"), register(master,self()), lists:foreach(fun(N) -> {Person, Friends}=N, io:fwrite("~w: ~w\n",[Person,Friends]), Pid = spawn(calling, receive_message,[]), register(Person,Pid), lists:foreach(fun(Friend) -> Person ! {call, Friend} end, Friends) end, EachData), io:fwrite("\n\n"), get_feedback(). get_feedback() -> receive {intro, Sender, Receiver, Time} -> {registered_name,SName}=process_info(Sender,registered_name), {registered_name,RName}=process_info(Receiver,registered_name), io:fwrite("~w received intro message from ~w [~w]\n",[RName,SName,Time]), get_feedback(); {reply, Sender, Receiver, Time} -> {registered_name,SName}=process_info(Sender,registered_name), {registered_name,RName}=process_info(Receiver,registered_name), io:fwrite("~w received reply message from ~w [~w]\n",[RName,SName,Time]), get_feedback() after 1500 -> {registered_name,Name}=process_info(self(),registered_name), io:fwrite("\n~w has received no calls for 1.5 second, ending...\n",[Name]), true end.
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more