opam-mirror/mirage/config.ml
2022-08-25 14:57:03 +02:00

25 lines
823 B
OCaml

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" ]
(console @-> time @-> pclock @-> stackv4v6 @-> dns_client @-> paf @-> job)
let paf time stackv4v6 = paf_conf () $ time $ tcpv4v6_of_stackv4v6 stackv4v6
let stackv4v6 = generic_stackv4v6 default_network
let () = register "mirror"
[ mirror $ default_console $ default_time $ default_posix_clock $ stackv4v6 $ generic_dns_client stackv4v6 $ paf default_time stackv4v6 ]