You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sorry if I'm not expressing myself well, I have a vague idea of the interoperability of Eio with other platforms for now.
For example, to access the file system, it is necessary to have an Eio.Path.t only provided by the environment object. So, I guess Mirage OS support for Eio will not provide #(cwd) and #(fs) methods in environment object. Based on this statement, does a xxx-eio-unix sub-library still make sense?
The text was updated successfully, but these errors were encountered:
So, I guess Mirage OS support for Eio will not provide #(cwd) and #(fs) methods in environment object.
Eio_main.run is used on Unix-compatible systems, where you have code such as:
letmain~dir= ...
let()=Eio_main.run @@funenv ->
main ~dir:env#cwd
A unikernel wouldn't call Eio_main.run. Instead the mirage tool will generate whatever entrypoint is appropriate for the platform. e.g. there might be an Eio_xen.run function that would provide access to XenStore. The mirage-generated code would use that to get a block device, and use the block device to make a filesystem. It would then call your main function with that filesystem, e.g.
(* Generated by mirage tool *)let()=Eio_xen.run @@funenv ->
let vda =Blkfront.connect env "vda"inlet fs =Ext4.of_block vda in
main ~dir:(Ext4.root fs)
Sorry if I'm not expressing myself well, I have a vague idea of the interoperability of Eio with other platforms for now.
For example, to access the file system, it is necessary to have an
Eio.Path.t
only provided by the environment object. So, I guess Mirage OS support for Eio will not provide#(cwd)
and#(fs)
methods in environment object. Based on this statement, does axxx-eio-unix
sub-library still make sense?The text was updated successfully, but these errors were encountered: