A few weeks ago, I merged https://github.com/mirage/mirage/pull/690 and
its companion PRs. The changeset continues work done by Hannes Mehnert
to convert the NETWORK module type to using result types for writes
upward through ETHERNET, IP, UDP, TCP, and ICMP, and rewrites FLOW to
use result types for both `read` and `write`. Anil has made a nice
patch (now merged) to `channel` using this API which you can see at
https://github.com/mirage/mirage-channel/pull/14 .
There's a similar PR, not yet merged, which adds error types for KV_RO,
BLOCK, and FS which you can see at
https://github.com/mirage/mirage/pull/705 . I'd appreciate more
comments on this PR. I'll admit that I'd especially appreciate comments
to the effect of "this is better than what we had so please merge it".
As mentioned in https://github.com/mirage/mirage/issues/698 and
https://github.com/mirage/mirage-console/pull/50#issuecomment-260770648
, the downside of this design is that the error types are now closed,
which is annoying in the case of FLOW.
I'd like to invite anyone who has contributions to make related to these
items to do so, including PRs to improve or revert the changes proposed
or merged. I've already spent way more time on this item for Mirage 3.0
than I intended to or probably should have, but I admit that there are
deficiencies in the design that should be addressed.
Thanks,
Mindy
_______________________________________________
MirageOS-devel mailing list
[email protected]
https://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel