talircd/lib/server/import.ml

31 lines
641 B
OCaml

include Irc
module Dllist = Lwt_dllist
type sockaddr = Unix.sockaddr
type fd = Lwt_unix.file_descr
let pp_sockaddr ppf = function
| Unix.ADDR_INET (adr, port) -> Fmt.pf ppf "%s:%d" (Unix.string_of_inet_addr adr) port
| Unix.ADDR_UNIX path -> Fmt.string ppf path
let defer f =
Lwt.on_success (Lwt.pause ()) f
module Result_syntax = struct
let ( let* ) = Result.bind
let ( let+ ) r f = Result.map f r
end
module List = struct
include List
let flat_map f xs =
let rec iter acc = function
| [] -> rev acc
| x :: xs -> iter (rev_append (f x) acc) xs
in
iter [] xs
end
include (val Logging.logs "Irc")