Module Capnp_rpc_unix.Network

A network using TCP and Unix-domain sockets.

module Location : sig ... end
include Capnp_rpc_net.S.NETWORK with type t = [ `Generic ] Eio.Net.ty Eio.Resource.t and type Address.t = Location.t * Capnp_rpc_net.Auth.Digest.t
type t = [ `Generic ] Eio.Net.ty Eio.Resource.t
val connect : t -> sw:Eio.Switch.t -> secret_key:Capnp_rpc_net.Auth.Secret_key.t Stdlib.Lazy.t -> Address.t -> (Capnp_rpc_net.Endpoint.t, [> `Msg of string ]) Stdlib.result

connect t ~sw ~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.

val parse_third_party_cap_id : Capnp_rpc.Private.Schema.Reader.pointer_t -> Types.third_party_cap_id
val v : _ Eio.Net.t -> t
val accept_connection : secret_key:Capnp_rpc_net.Auth.Secret_key.t option -> [> Eio.Flow.two_way_ty | Eio.Resource.close_ty ] Eio.Std.r -> (Capnp_rpc_net.Endpoint.t, [> `Msg of string ]) Stdlib.result

accept_connection ~secret_key flow is a new endpoint for flow. If secret_key is not None, it is used to perform a TLS server-side handshake. Otherwise, the connection is not encrypted.