this post was submitted on 19 Jul 2023
3 points (100.0% liked)
Plan9
240 readers
1 users here now
Discussions on the Plan9 operating system.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I think that anything in Plan 9 that involves a filesystem makes total sense. It's just too easy to just make a thin layer that works with files.
For instance, I was once building a GUI for a project in Plan 9 C, that communicated with the remote server using REST requests. All I had to do is use the webfs filesystem interface. It works somewhat like this:
/mnt/web/clone
for reading and keep it open. Reading that file gives you a handle number for your connections./mnt/web/%d/ctl
(%d
being the handle number) for writing. Then you write a few textual information for your request, e.g.request get
for the method,url https://my-website.com/
for URL,headers blabla
for each header parameter, etc.contenttype
through thectl
file as above, then write the request body to/mnt/web/%d/postbody
./mnt/web/%d/body
for reading. This action performs the actual request, and may take some time. Nevertheless, for your program, it is simply a blocking file operation.I think this illustrates how simple Plan 9 can be, so I think it is possible to port most, if not every part of 9fans.net libraries to native Plan 9 by reimplementing a few functions to do file operations instead of using the plan9port binaries.