Update to mirage.4.3.1 and its alpn_client

This commit is contained in:
Reynir Björnsson 2023-01-20 14:46:22 +01:00
parent c46f15baa3
commit 93c490bcb5

View file

@ -1,8 +1,5 @@
open Mirage open Mirage
type http_client = HTTP_client
let http_client = typ HTTP_client
let check = let check =
let doc = let doc =
Key.Arg.info ~doc:"Only check the cache" ["check"] Key.Arg.info ~doc:"Only check the cache" ["check"]
@ -87,7 +84,7 @@ let mirror =
package "mirage-block-partition" ; package "mirage-block-partition" ;
package "oneffs" ; package "oneffs" ;
] ]
(block @-> time @-> pclock @-> stackv4v6 @-> git_client @-> http_client @-> job) (block @-> time @-> pclock @-> stackv4v6 @-> git_client @-> alpn_client @-> job)
let stack = generic_stackv4v6 default_network let stack = generic_stackv4v6 default_network
@ -95,26 +92,12 @@ let dns = generic_dns_client stack
let tcp = tcpv4v6_of_stackv4v6 stack let tcp = tcpv4v6_of_stackv4v6 stack
let http_client = let git_client, alpn_client =
let packages = let happy_eyeballs = generic_happy_eyeballs stack dns in
[ package "http-mirage-client" ] in let git_happy_eyeballs = git_happy_eyeballs stack dns happy_eyeballs in
let connect _ modname = function merge_git_clients (git_tcp tcp git_happy_eyeballs)
| [ _pclock; _tcpv4v6; ctx ] -> (git_http ~authenticator:tls_authenticator tcp git_happy_eyeballs),
Fmt.str {ocaml|%s.connect %s|ocaml} modname ctx paf_client ~pclock:default_posix_clock tcp (mimic_happy_eyeballs stack dns happy_eyeballs)
| _ -> assert false in
impl ~packages ~connect "Http_mirage_client.Make"
(pclock @-> tcpv4v6 @-> git_client @-> http_client)
(* XXX(dinosaure): [git_client] seems bad but it becames from a long discussion
when a "mimic" device seems not accepted by everyone. We can copy [git_happy_eyeballs]
and provide an [http_client] instead of a [git_client] but that mostly means that
2 instances of happy-eyeballs will exists together which is not really good
(it puts a pressure on the scheduler). *)
let git_client, http_client =
let happy_eyeballs = git_happy_eyeballs stack dns (generic_happy_eyeballs stack dns) in
merge_git_clients (git_tcp tcp happy_eyeballs)
(git_http ~authenticator:tls_authenticator tcp happy_eyeballs),
http_client $ default_posix_clock $ tcp $ happy_eyeballs
let program_block_size = let program_block_size =
let doc = Key.Arg.info [ "program-block-size" ] in let doc = Key.Arg.info [ "program-block-size" ] in
@ -123,4 +106,4 @@ let program_block_size =
let block = block_of_file "tar" let block = block_of_file "tar"
let () = register "mirror" let () = register "mirror"
[ mirror $ block $ default_time $ default_posix_clock $ stack $ git_client $ http_client ] [ mirror $ block $ default_time $ default_posix_clock $ stack $ git_client $ alpn_client ]