From 89d1a606a58a53af4dd56dd21afdee42f510b7a6 Mon Sep 17 00:00:00 2001 From: Anton Bachin Date: Sat, 8 Apr 2017 14:32:26 -0500 Subject: [PATCH] Breaking: switch to new Lwt_engine.libev Originally added in #269. --- src/unix/lwt_engine.ml | 10 +++++----- src/unix/lwt_engine.mli | 23 ++++++++++++----------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/unix/lwt_engine.ml b/src/unix/lwt_engine.ml index cc2f36376a..e8896cb4cc 100644 --- a/src/unix/lwt_engine.ml +++ b/src/unix/lwt_engine.ml @@ -175,7 +175,7 @@ external ev_io_stop : ev_loop -> ev_io -> unit = "lwt_libev_io_stop" external ev_timer_init : ev_loop -> float -> bool -> (unit -> unit) -> ev_timer = "lwt_libev_timer_init" external ev_timer_stop : ev_loop -> ev_timer -> unit = "lwt_libev_timer_stop" -class libev' ?(backend=Ev_backend.default) () = object +class libev ?(backend=Ev_backend.default) () = object inherit abstract val loop = ev_init backend @@ -203,7 +203,7 @@ class libev' ?(backend=Ev_backend.default) () = object lazy(ev_timer_stop loop ev) end -class libev = libev' () +class libev_deprecated = libev () (* +-----------------------------------------------------------------+ | Select/poll based engines | @@ -418,7 +418,7 @@ end let current = if Lwt_config._HAVE_LIBEV && Lwt_config.libev_default then - ref (new libev :> t) + ref (new libev () :> t) else ref (new select :> t) @@ -441,6 +441,6 @@ let timer_count () = !current#timer_count module Versioned = struct - class libev_1 = libev - class libev_2 = libev' + class libev_1 = libev_deprecated + class libev_2 = libev end diff --git a/src/unix/lwt_engine.mli b/src/unix/lwt_engine.mli index 4b3e7ef289..96322a1730 100644 --- a/src/unix/lwt_engine.mli +++ b/src/unix/lwt_engine.mli @@ -147,7 +147,7 @@ end (** Engine based on libev. If not compiled with libev support, the creation of the class will raise {!Lwt_sys.Not_available}. *) -class libev : object +class libev : ?backend:Ev_backend.t -> unit -> object inherit t val loop : ev_loop @@ -156,13 +156,6 @@ class libev : object method loop : ev_loop (** Returns [loop]. *) end -[@@ocaml.deprecated -" This class will soon have parameters for selecting a libev backend. This will - be a breaking change in Lwt 3.0.0. See - https://github.com/ocsigen/lwt/pull/269 - To preserve the current signature, use Lwt_engine.Versioned.libev_1 - To use the replacement immediately, use Lwt_engine.Versioned.libev_2 () - Both alternatives require Lwt >= 2.7.0."] (** Engine based on [Unix.select]. *) class select : t @@ -223,15 +216,23 @@ sig method loop : ev_loop end [@@ocaml.deprecated - "Deprecated in favor of Lwt_engine.Versioned.libev_2. See +" Deprecated in favor of Lwt_engine.libev. See https://github.com/ocsigen/lwt/pull/269"] - (** @deprecated In favor of {!libev_2}. + (** Old version of {!Lwt_engine.libev}. The current {!Lwt_engine.libev} allows + selecting the libev back end. + + @deprecated Use {!Lwt_engine.libev}. @since 2.7.0 *) - (** @since 2.7.0 *) class libev_2 : ?backend:Ev_backend.t -> unit -> object inherit t val loop : ev_loop method loop : ev_loop end + [@@ocaml.deprecated +" In Lwt >= 3.0.0, this is an alias for Lwt_engine.libev."] + (** Since Lwt 3.0.0, this is just an alias for {!Lwt_engine.libev}. + + @deprecated Use {!Lwt_engine.libev}. + @since 2.7.0 *) end