Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 1.69 KB | None | 0 0
  1. -module(client).
  2. -compile(export_all).
  3.  
  4. request(Pid,Content) ->
  5.         All = loop(Content,[]),
  6.         Pid ! {ok, All}.
  7.  
  8. loop([],CompleteText) ->
  9.         CompleteText;
  10.  
  11. loop([Current|Data],CompleteText) ->
  12.         RefId = make_ref(),
  13.         case element(1,Current) of
  14.                 text ->
  15.                         CompleteText2 = CompleteText++[Current],
  16.                         loop(Data,CompleteText2);
  17.                 img ->
  18.                         webserver ! {self(),RefId,element(1,Current),element(2,Current)},
  19.                         receive
  20.                                 {ok,_RefId2,NewData} ->
  21.                                         CompleteText2 = CompleteText++[{img, NewData}],
  22.                                         loop(Data,CompleteText2)
  23.                         end;
  24.                 dbquery ->
  25.                         webserver ! {self(),RefId,element(1,Current),element(2,Current)},
  26.                         receive
  27.                                 {ok,_RefId2,NewData} ->
  28.                                         NewCompleteText = loop(element(2,NewData),CompleteText),
  29.                                         loop(Data,NewCompleteText)
  30.                         end;
  31.                 doc ->
  32.                         webserver ! {self(),RefId,element(1,Current),element(2,Current)},
  33.                         receive
  34.                                 {ok,_RefId2,NewData} ->
  35.                                         NewCompleteText = loop(element(2,NewData),CompleteText),
  36.                                         loop(Data,NewCompleteText)
  37.                         end;
  38.                 _ ->
  39.                         {error, got_something_unexpected}
  40.         end. %This is end of casE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement