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 = unit
and type Address.t = Location.t * Capnp_rpc_net.Auth.Digest.t
module Types : Capnp_rpc.S.NETWORK_TYPES
module Address :
Capnp_rpc_net.S.ADDRESS
with type t = Location.t * Capnp_rpc_net.Auth.Digest.t
val connect :
t ->
switch:Lwt_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 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
val accept_connection :
switch:Lwt_switch.t ->
secret_key:Capnp_rpc_net.Auth.Secret_key.t option ->
Unix_flow.flow ->
(Capnp_rpc_net.Endpoint.t, [> `Msg of string ]) Stdlib.result Lwt.t
accept_connection ~switch ~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.