A thought: abi.File should be expanded to contain the idea of a "sub-descriptor", "control descriptor" or another such term. This "sub-descriptor" would fulfill the place of ioctl, accept, stat and other more complicated syscalls. Programs could read/write any structured data in plain human-readable text or msgpack.
This would enable things like the following:
const fout = try Resource.open("file:///log.txt");
const fout_meta = try fout.control("meta"); // helper method?
const delta = "mode=0600";
const n = try fout_meta.write(delta.ptr, delta.len);
const l = try Resource.open("tcp://0.0.0.0:90?mode=host");
for {
const client = try l.control("accept");
const client_meta = try client.control("meta");
// read IP address on first line and log?
// handle request
client.close();
}
A thought:
abi.Fileshould be expanded to contain the idea of a "sub-descriptor", "control descriptor" or another such term. This "sub-descriptor" would fulfill the place ofioctl,accept,statand other more complicated syscalls. Programs could read/write any structured data in plain human-readable text or msgpack.This would enable things like the following: