open Irc type t val make : router:Router.t -> server_info:Server_info.t -> addr:Unix.sockaddr -> t val close : ?reason:string -> t -> unit val outbox : t -> Outbox.t val on_msg : t -> Msg.t -> unit val on_ping : t -> (unit, unit) result