Cap'n Proto is a capability-based RPC system with bindings for many languages
Library capnp-rpc-unix
type t = [
| `Unix of string
| `TCP of string * int
val validate_public : t -> unit

Raises an exception if t is not a valid public address (e.g. the Unix path is relative)

val pp : t Fmt.t
val equal : t -> t -> bool
val unix : string -> t

unix path is a Unix-domain socket address. path is made absolute if it isn't already.

val tcp : host:string -> port:int -> t

tcp ~host port is `TCP (host, port).

val of_string : string -> ( t, [> `Msg of string ] ) result
val cmdliner_conv : t Cmdliner.Arg.conv