opam-mirror/mirage/config.ml

26 lines
793 B
OCaml
Raw Normal View History

2022-08-25 12:57:03 +00:00
open Mirage
type paf = Paf
let paf = typ Paf
let paf_conf () =
let packages = [ package "paf" ~sublibs:[ "mirage" ] ] in
impl ~packages "Paf_mirage.Make" (time @-> tcpv4v6 @-> paf)
let uri =
let doc = Key.Arg.info ~doc:"URI" [ "u"; "uri" ] in
Key.(create "uri" Arg.(required string doc))
let mirror =
foreign "Unikernel.Make"
~keys:[ Key.v uri ]
~packages:[ package "paf" ~min:"0.0.9" ; package "paf-cohttp" ~min:"0.0.7" ]
2022-08-25 13:13:42 +00:00
(time @-> pclock @-> stackv4v6 @-> dns_client @-> paf @-> job)
2022-08-25 12:57:03 +00:00
let paf time stackv4v6 = paf_conf () $ time $ tcpv4v6_of_stackv4v6 stackv4v6
let stackv4v6 = generic_stackv4v6 default_network
let () = register "mirror"
2022-08-25 13:13:42 +00:00
[ mirror $ default_time $ default_posix_clock $ stackv4v6 $ generic_dns_client stackv4v6 $ paf default_time stackv4v6 ]