Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] happy-eyeballs (4 packages) (2.0.0) #27392

Merged
merged 4 commits into from
Feb 6, 2025

Conversation

hannesm
Copy link
Member

@hannesm hannesm commented Feb 5, 2025

Connecting to a remote host via IP version 4 or 6

CHANGES:
  • Use mirage-sleep and mirage-mtime (dune variants) instead of functorising
    over TIME and MCLOCK

CHANGES:

* Use mirage-sleep and mirage-mtime (dune variants) instead of functorising
  over TIME and MCLOCK
@hannesm
Copy link
Member Author

hannesm commented Feb 6, 2025

needs some upper bounds. I'll work on this later today.

Error:
```
File "src/conduit-mirage/resolver_mirage.ml", line 96, characters 13-51:
96 |   module H = Happy_eyeballs_mirage.Make (T) (C) (S)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
       These arguments:
         T C S
       do not match these parameters:
         functor (S : Tcpip.Stack.V4V6) -> ...
       1. The following extra argument is provided
              T : sig val sleep_ns : int64 -> unit Lwt.t end
       2. The following extra argument is provided
              C :
              sig
                val elapsed_ns : unit -> int64
                val period_ns : unit -> int64 option
              end
       3. Module S matches the expected module type Tcpip.Stack.V4V6
```
Error:
```
File "mirage/stub/dns_stub_mirage.ml", line 61, characters 13-48:
61 |   module H = Happy_eyeballs_mirage.Make(T)(C)(S)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
       These arguments:
         T C S
       do not match these parameters:
         functor (S : Tcpip.Stack.V4V6) -> ...
       1. The following extra argument is provided
              T : sig val sleep_ns : int64 -> unit Lwt.t end
       2. The following extra argument is provided
              C :
              sig
                val elapsed_ns : unit -> int64
                val period_ns : unit -> int64 option
              end
       3. Module S matches the expected module type Tcpip.Stack.V4V6
```
Error:
```
File "test/test.ml", line 22, characters 2-70:
22 |   Happy_eyeballs_mirage.Make (Time) (Mclock) (Tcpip_stack_socket.V4V6)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
       These arguments:
         Time Mclock Tcpip_stack_socket.V4V6
       do not match these parameters:
         functor (S : Tcpip.Stack.V4V6) -> ...
       1. The following extra argument is provided
              Time : sig val sleep_ns : int64 -> unit Lwt.t end
       2. The following extra argument is provided
              Mclock :
              sig
                val elapsed_ns : unit -> int64
                val period_ns : unit -> int64 option
              end
       3. Modules do not match:
            Tcpip_stack_socket.V4V6 :
            sig
              type t = Tcpip_stack_socket.V4V6.t
              val disconnect : t -> unit Lwt.t
              module UDP = Tcpip_stack_socket.V4V6.UDP
              module TCP = Tcpip_stack_socket.V4V6.TCP
              module IP = Tcpip_stack_socket.V4V6.IP
              val udp : t -> UDP.t
              val tcp : t -> TCP.t
              val ip : t -> IP.t
              val listen : t -> unit Lwt.t
              val connect : Udpv4v6_socket.t -> Tcpv4v6_socket.t -> t Lwt.t
            end
          is not included in
            Tcpip.Stack.V4V6
          ... In module UDP:
          Values do not match:
            val listen :
              t ->
              port:int ->
              (src:Ipaddr.t ->
               dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
               src_port:int -> Cstruct.t -> unit Lwt.t) ->
              unit
          is not included in
            val listen : t -> port:int -> callback -> unit
          The type
            t ->
            port:int ->
            (src:Ipaddr.t ->
             dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
             src_port:int -> Cstruct.t -> unit Lwt.t) ->
            unit
          is not compatible with the type t -> port:int -> callback -> unit
          Type
            src:Ipaddr.t ->
            dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
            src_port:int -> Cstruct.t -> unit Lwt.t
          is not compatible with type
            callback =
              src:ipaddr ->
              dst:ipaddr -> src_port:int -> Cstruct.t -> unit Lwt.t
          Type ('a, Ipaddr.V6.t) Ipaddr.v4v6 is not compatible with type
            ipaddr = Ipaddr.t
          File "src/core/udp.mli", line 26, characters 2-48:
            Expected declaration
          File "src/stack-unix/udpv4v6_socket.ml", line 170, characters 4-10:
            Actual declaration
```
@raphael-proust raphael-proust merged commit 110500e into ocaml:master Feb 6, 2025
2 of 3 checks passed
@raphael-proust
Copy link
Contributor

thanks a lot ❤️

@hannesm hannesm deleted the release-happy-eyeballs-v2.0.0 branch February 6, 2025 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants