include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
module Id : Core.Identifiable
val spawn : ?where:Executable_location.t ‑> ?name:string ‑> ?env:(string * string) list ‑> ?connection_timeout:Core.Time.Span.t ‑> ?cd:string ‑> ?umask:int ‑> redirect_stdout:Rpc_parallel__.Fd_redirection.t ‑> redirect_stderr:Rpc_parallel__.Fd_redirection.t ‑> worker_state_init_arg ‑> connection_state_init_arg ‑> on_failure:(Core.Error.t ‑> unit) ‑> t Core.Or_error.t Async.Deferred.t
val spawn_exn : ?where:Executable_location.t ‑> ?name:string ‑> ?env:(string * string) list ‑> ?connection_timeout:Core.Time.Span.t ‑> ?cd:string ‑> ?umask:int ‑> redirect_stdout:Rpc_parallel__.Fd_redirection.t ‑> redirect_stderr:Rpc_parallel__.Fd_redirection.t ‑> worker_state_init_arg ‑> connection_state_init_arg ‑> on_failure:(Core.Error.t ‑> unit) ‑> t Async.Deferred.t
val run : t ‑> f:(unmanaged_t, 'query, 'response) Parallel.Function.t ‑> arg:'query ‑> 'response Core.Or_error.t Async.Deferred.t
run t
and run_exn t
will connect to t
if there is not already a connection,
but if there is currently a connection that has gone stale, they will fail with an
error. Trying again will attempt a reconnection.
val run_exn : t ‑> f:(unmanaged_t, 'query, 'response) Parallel.Function.t ‑> arg:'query ‑> 'response Async.Deferred.t
val kill : t ‑> unit Core.Or_error.t Async.Deferred.t
Using these functions will not result in on_failure
reporting a closed
connection, unlike running the shutdown
function.
val kill_exn : t ‑> unit Async.Deferred.t