From e30f2927f09ab7c67853f0801cda57f48d7d50a6 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Sat, 30 May 2015 13:40:51 -0400 Subject: [PATCH] Remove IO.read_exactly It's not being used anywhere as of #360 --- async/cohttp_async_io.ml | 7 ------- lib/s.mli | 5 ----- lib/string_io.ml | 2 -- lwt/cohttp_lwt_unix_io.ml | 22 ---------------------- lwt/string_io_lwt.ml | 1 - 5 files changed, 37 deletions(-) diff --git a/async/cohttp_async_io.ml b/async/cohttp_async_io.ml index 6490545d6c..dc8d3a2af4 100644 --- a/async/cohttp_async_io.ml +++ b/async/cohttp_async_io.ml @@ -55,13 +55,6 @@ let read ic len = | `Ok len' -> String.sub buf 0 len' | `Eof -> "" -let read_exactly ic len = - let buf = String.create len in - Reader.really_read ic ~pos:0 ~len buf >>| - function - |`Ok -> Some buf - |`Eof _ -> None - let write = check_debug (fun oc buf -> diff --git a/lib/s.mli b/lib/s.mli index 81c2a0af9d..173a814331 100644 --- a/lib/s.mli +++ b/lib/s.mli @@ -60,11 +60,6 @@ module type IO = sig request. *) val read : ic -> int -> string t - (** [read_exactly ic len] will block until exactly [len] characters - are read from the input channel [ic]. If EOF or some other - error condition is reached, then {!None} is returned. *) - val read_exactly : ic -> int -> string option t - (** [write oc s] will block until the complete [s] string is written to the output channel [oc]. *) val write : oc -> string -> unit t diff --git a/lib/string_io.ml b/lib/string_io.ml index 86457c9d60..ef96b9fc09 100644 --- a/lib/string_io.ml +++ b/lib/string_io.ml @@ -74,8 +74,6 @@ module M = struct Some s end - let read_exactly x n = return (read_exactly' x n) - let read x n = match read_exactly' x n with | None when x.pos >= x.len -> raise End_of_file diff --git a/lwt/cohttp_lwt_unix_io.ml b/lwt/cohttp_lwt_unix_io.ml index 58696dc7c9..94bc0f0336 100644 --- a/lwt/cohttp_lwt_unix_io.ml +++ b/lwt/cohttp_lwt_unix_io.ml @@ -51,28 +51,6 @@ let read ic count = else try_read () -let read_exactly ic buf off len = - let try_read () = - Lwt.try_bind (fun () -> Lwt_io.read_into_exactly ic buf off len) - (fun () -> Lwt.return_true) - (function - | End_of_file -> Lwt.return_false - | x -> Lwt.fail x) in - if !CD.debug_active then - try_read () >>= fun rd -> - (match rd with - | true -> CD.debug_print "<<< %S" (String.sub buf off len) - | false -> CD.debug_print "<<< \n"); - return rd - else - try_read () - -let read_exactly ic len = - let buf = Bytes.create len in - read_exactly ic buf 0 len >>= function - | true -> return (Some buf) - | false -> Lwt.return_none - let write oc buf = if !CD.debug_active then (CD.debug_print ">>> %s" buf; Lwt_io.write oc buf) diff --git a/lwt/string_io_lwt.ml b/lwt/string_io_lwt.ml index 9998dff629..1d49738721 100644 --- a/lwt/string_io_lwt.ml +++ b/lwt/string_io_lwt.ml @@ -27,7 +27,6 @@ type conn = Cohttp.String_io.M.conn let iter = Lwt_list.iter_s let read_line ic = return (Cohttp.String_io.M.read_line ic) let read ic n = return (Cohttp.String_io.M.read ic n) -let read_exactly ic n = return (Cohttp.String_io.M.read_exactly ic n) let write oc str = return (Cohttp.String_io.M.write oc str) let flush oc = return (Cohttp.String_io.M.flush oc)