On Mar 25, 2017, at 8:11 PM, Noel Chiappa
<jnc(a)mercury.lcs.mit.edu> wrote:
I can't wait to see how you all fit remote procedure calls into a file
paradigm.
For a simple example, see
http://plan9.bell-labs.com/magic/man2html/4/ftpfs .
This uses the usual filesystem interface to the network stack to manage the underlying TCP
connections. The FTP protocol is implemented inside the ftpfs fileserver process which
itself exports a directory into the filesystem namespace. Fileservers are the natural
representation of RPC protocols in plan9, and they work quite well.
Of course, not everything will naturally map to a filesystem namespace. But a
surprisingly large number of things will, given some thought to the problem.
http://plan9.bell-labs.com/sys/doc/names.pdf is a must-read to appreciate the nuances of
how this works.
--lyndon
P.S. A fun example of the simplicity of the plan9 network API is this implementation of
rlogin:
http://plan9.bell-labs.com/sources/contrib/rsc/rlogin