Module type S.NETWORK

module Address : ADDRESS
type t
val connect : t -> switch:Lwt_switch.t -> secret_key:Auth.Secret_key.t Stdlib.Lazy.t -> Address.t -> (Endpoint.t, [> `Msg of string ]) Stdlib.result Lwt.t

connect t ~switch ~secret_key address connects to address, proves ownership of secret_key (if TLS is being used), and returns the resulting endpoint. Returns an error if no connection can be established or the target fails to authenticate itself. If switch is turned off, the connection should be terminated.

val parse_third_party_cap_id : Capnp_rpc_lwt.Private.Schema.Reader.pointer_t -> Types.third_party_cap_id