Is there a specification for a group leader protocol that handles IO?

In Erlang, each process has a group leader, and when the process wants to print something (i.e. it calls the io library or something like that), it will send a message to its group leader.

My question is, where can I find the specification of these posts? Or, in general, a specification of what the team leader should do?

I managed to find out with some experiments that sometimes the process sends a member {io_request, Sender, GroupLeader, Request} , and the answer is {io_reply, GroupLeader, ok} , but there may be other cases.

+5
erlang
source share
2 answers

Explanation of Erlang (video) or (slides) ; is a good source of information, as is the source code for user.erl .

In short:

  {io_request, From, ReplyAs, Request} %From is the process to send the reply to, %ReplyAs is any term the caller desires to %match up the request and the response. (returned verbatim in the reply) {io_reply, ReplyAs, Reply} 

Some queries in user.erl:

  {put_chars, IoList} % puts the iolist {put_chars, M,F,A} % puts the result of apply(M,F,A) {get_geometry, 'rows' | 'columns'} % returns the number of rows or columns of the console {get_line, Prompt} % calls io_lib:collect_line(Prompt) {get_chars, Prompt, Mod, Func, ExtraArgs} {get_until, Prompt, Mod, Func, Args} {setopts, Options} % only option supported by user is 'binary' % (binary mode if present in Options, list mode otherwise) 
+6
source share

Erlang I / O Protocol is described in detail here:

http://www.erlang.org/doc/apps/stdlib/io_protocol.html

+1
source share

All Articles