diff --git a/dune-project b/dune-project index 93cd4c0..9856ec7 100644 --- a/dune-project +++ b/dune-project @@ -74,7 +74,7 @@ (depends (grpc (= :version)) - eio + (eio (>= 0.12)) stringext)) (package @@ -96,7 +96,7 @@ tls-async (lwt_ssl (>= 1.2.0)) (mdx (and (>= 2.2.1) :with-test)) - (eio_main (>= 0.10)) + (eio_main (>= 0.12)) stringext)) (package diff --git a/examples/greeter-client-eio/greeter_client_eio.ml b/examples/greeter-client-eio/greeter_client_eio.ml index 0fc535b..c8b0530 100644 --- a/examples/greeter-client-eio/greeter_client_eio.ml +++ b/examples/greeter-client-eio/greeter_client_eio.ml @@ -16,8 +16,7 @@ let main env = let addr = `Tcp (Eio_unix.Net.Ipaddr.of_unix inet, port) in let socket = Eio.Net.connect ~sw network addr in let connection = - H2_eio.Client.create_connection ~sw ~error_handler:ignore - (socket :> Eio.Flow.two_way) + H2_eio.Client.create_connection ~sw ~error_handler:ignore socket in let open Ocaml_protoc_plugin in diff --git a/examples/greeter-server-eio/greeter_server_eio.ml b/examples/greeter-server-eio/greeter_server_eio.ml index 13bfbf1..16aaba0 100644 --- a/examples/greeter-server-eio/greeter_server_eio.ml +++ b/examples/greeter-server-eio/greeter_server_eio.ml @@ -33,8 +33,7 @@ let connection_handler server sw = in fun socket addr -> H2_eio.Server.create_connection_handler ?config:None ~request_handler - ~error_handler addr - (socket :> Eio.Flow.two_way) + ~error_handler addr ~sw socket let serve server env = let port = 8080 in diff --git a/examples/routeguide-async/src/dune b/examples/routeguide-async/src/dune index 0a68dfb..b92b27d 100644 --- a/examples/routeguide-async/src/dune +++ b/examples/routeguide-async/src/dune @@ -10,7 +10,7 @@ core core_unix.command_unix routeguide_proto_async - h2-lwt-unix + h2-async yojson ppx_deriving_yojson.runtime) (preprocess diff --git a/examples/routeguide-tutorial.md b/examples/routeguide-tutorial.md index 3cf7b66..96128be 100644 --- a/examples/routeguide-tutorial.md +++ b/examples/routeguide-tutorial.md @@ -285,7 +285,7 @@ Now let's look at something a little more complicated: the client-side streaming ```ocaml -let record_route (clock : #Eio.Time.clock) (stream : string Seq.t) = +let record_route (clock : _ Eio.Time.clock) (stream : string Seq.t) = Eio.traceln "RecordRoute"; let last_point = ref None in @@ -378,7 +378,7 @@ let serve server env = let clock = Eio.Stdenv.clock env in let addr = `Tcp (Eio.Net.Ipaddr.V4.loopback, port) in Eio.Switch.run @@ fun sw -> - let handler = connection_handler (server clock) sw in + let handler = connection_handler ~sw (server clock) in let server_socket = Eio.Net.listen net ~sw ~reuse_addr:true ~backlog:10 addr in @@ -425,8 +425,7 @@ let client ~sw host port network = in let addr = `Tcp (Eio_unix.Net.Ipaddr.of_unix inet, port) in let socket = Eio.Net.connect ~sw network addr in - H2_eio.Client.create_connection ~sw ~error_handler:ignore - (socket :> Eio.Flow.two_way) + H2_eio.Client.create_connection ~sw ~error_handler:ignore socket ``` To call service methods, we take the H2 connection and build up a gRPC call for the service method using `Client.call` from the Client module. diff --git a/examples/routeguide/src/client.ml b/examples/routeguide/src/client.ml index 5fed462..47d8dba 100644 --- a/examples/routeguide/src/client.ml +++ b/examples/routeguide/src/client.ml @@ -15,8 +15,7 @@ let client ~sw host port network = in let addr = `Tcp (Eio_unix.Net.Ipaddr.of_unix inet, port) in let socket = Eio.Net.connect ~sw network addr in - H2_eio.Client.create_connection ~sw ~error_handler:ignore - (socket :> Eio.Flow.two_way) + H2_eio.Client.create_connection ~sw ~error_handler:ignore socket (* $MDX part-end *) (* $MDX part-begin=client-get-feature *) diff --git a/examples/routeguide/src/server.ml b/examples/routeguide/src/server.ml index 0c051ff..bfa30d9 100644 --- a/examples/routeguide/src/server.ml +++ b/examples/routeguide/src/server.ml @@ -130,7 +130,7 @@ let list_features (buffer : string) (f : string -> unit) = (* $MDX part-end *) (* $MDX part-begin=server-record-route *) -let record_route (clock : #Eio.Time.clock) (stream : string Seq.t) = +let record_route (clock : _ Eio.Time.clock) (stream : string Seq.t) = Eio.traceln "RecordRoute"; let last_point = ref None in @@ -221,7 +221,7 @@ let server clock = ~service:(route_guide_service clock)) (* $MDX part-end *) -let connection_handler server sw = +let connection_handler server ~sw = let error_handler client_address ?request:_ _error start_response = Eio.traceln "Error in request from:%a" Eio.Net.Sockaddr.pp client_address; let response_body = start_response H2.Headers.empty in @@ -235,8 +235,7 @@ let connection_handler server sw = in fun socket addr -> H2_eio.Server.create_connection_handler ?config:None ~request_handler - ~error_handler addr - (socket :> Eio.Flow.two_way) + ~error_handler addr socket ~sw (* $MDX part-begin=server-main *) let serve server env = @@ -245,7 +244,7 @@ let serve server env = let clock = Eio.Stdenv.clock env in let addr = `Tcp (Eio.Net.Ipaddr.V4.loopback, port) in Eio.Switch.run @@ fun sw -> - let handler = connection_handler (server clock) sw in + let handler = connection_handler ~sw (server clock) in let server_socket = Eio.Net.listen net ~sw ~reuse_addr:true ~backlog:10 addr in diff --git a/grpc-eio.opam b/grpc-eio.opam index eddb0b3..57541ef 100644 --- a/grpc-eio.opam +++ b/grpc-eio.opam @@ -19,7 +19,7 @@ bug-reports: "https://github.com/dialohq/ocaml-grpc/issues" depends: [ "dune" {>= "3.7"} "grpc" {= version} - "eio" + "eio" {>= "0.12"} "stringext" "odoc" {with-doc} ] diff --git a/grpc-examples.opam b/grpc-examples.opam index 017ee7a..7c8ef02 100644 --- a/grpc-examples.opam +++ b/grpc-examples.opam @@ -32,7 +32,7 @@ depends: [ "tls-async" "lwt_ssl" {>= "1.2.0"} "mdx" {>= "2.2.1" & with-test} - "eio_main" {>= "0.10"} + "eio_main" {>= "0.12"} "stringext" "odoc" {with-doc} ] diff --git a/lib/grpc-async/dune b/lib/grpc-async/dune index 3bd83b1..2db5222 100644 --- a/lib/grpc-async/dune +++ b/lib/grpc-async/dune @@ -1,6 +1,6 @@ (library (name grpc_async) (public_name grpc-async) - (libraries grpc h2 h2-async stringext async) + (libraries grpc h2 stringext async) (preprocess (pps ppx_jane))) diff --git a/lib/grpc-eio/dune b/lib/grpc-eio/dune index b112d4e..39ce5ea 100644 --- a/lib/grpc-eio/dune +++ b/lib/grpc-eio/dune @@ -1,4 +1,4 @@ (library (name grpc_eio) (public_name grpc-eio) - (libraries grpc h2-eio)) + (libraries grpc h2 eio))