Update to mirage.4.3.1 and its alpn_client
This commit is contained in:
parent
c46f15baa3
commit
93c490bcb5
1 changed files with 8 additions and 25 deletions
|
@ -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 ]
|
||||||
|
|
Loading…
Reference in a new issue