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
module Types : Capnp_rpc_proto.S.NETWORK_TYPES
module Address :
Capnp_rpc_net.S.ADDRESS
with type t = Location.t * Capnp_rpc_net.Auth.Digest.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.