Thanks for the great series.
One thing I don't really understand in regard to smol: why is it that a true async file IO wrapper can't be provided? I agree that in many cases deferring to another thread to handle it would be sufficient, but I can also think of cases where I am not so sure.
A case I am particularly interested in is where data is being read in from a large number (thousands) of network connections and written to files (one per connection). Will the smol way of handling files scale to this level? Or will there be too much overhead? Or maybe the writer threads will choke on the workload?
I admit I have not looked closely enough at smol to know how easy it would be to write an Async
wrapper for a file, but I would have thought it should be possible for any type that implements AsRawFd
.