Extends Core_kernel.Md5.
include module type of sig ... endmodule Stable = Core_kernel__Md5.Stableval t_of_sexp : Base.Sexp.t ‑> tval sexp_of_t : t ‑> Base.Sexp.tval clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.tval comparator : (t, comparator_witness) Base.Comparator.comparatorval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkmodule Map = Core_kernel__Md5.Mapmodule Set = Core_kernel__Md5.Setval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (int ‑> t) Bin_prot.Read.readerval bin_shape_t : Bin_prot.Shape.tval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.tval compare : t ‑> t ‑> Core_kernel__.Import.intval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval hashable : t Core_kernel.Hashtbl.Hashable.tmodule Table = Core_kernel__Md5.Tablemodule Hash_set = Core_kernel__Md5.Hash_setmodule Hash_queue = Core_kernel__Md5.Hash_queueval to_binary : t ‑> stringval of_binary_exn : string ‑> tval to_hex : t ‑> stringval of_hex_exn : string ‑> tval digest_string : string ‑> tval digest_bytes : bytes ‑> tval digest_subbytes : bytes ‑> pos:int ‑> len:int ‑> tval digest_file_blocking_without_releasing_runtime_lock : string ‑> tval digest_channel_blocking_without_releasing_runtime_lock : Pervasives.in_channel ‑> len:int ‑> tval input_blocking : Pervasives.in_channel ‑> tval output_blocking : t ‑> Pervasives.out_channel ‑> unitval file : string ‑> tval channel : Pervasives.in_channel ‑> int ‑> tval output : Pervasives.out_channel ‑> t ‑> unitval input : Pervasives.in_channel ‑> tval digest_bin_prot : 'a Bin_prot.Type_class.writer ‑> 'a ‑> tval digest_fd_blocking : Core__.Core_unix.File_descr.t ‑> tThis is similar to digest_channel_blocking_without_releasing_runtime_lock with a
difference that this releases the OCaml lock for its whole duration. Therefore, this
can run in parallel with other OCaml threads and can be meaningfully used in
In_thread.run.
The file descriptor must be open for reading and not be nonblocking, otherwise the function might fail non-deterministically.
val digest_file_blocking : string ‑> tThis function is equivalent in behavior to
digest_file_blocking_without_releasing_runtime_lock, except this releases the OCaml
lock for its whole duration. Therefore, this can run in parallel with other OCaml
threads and can be meaningfully used in In_thread.run.