Module Rpc_parallel.Make.Shutdown_on

Parameters

Signature

type _ t =
| Heartbeater_timeout : worker M.t Async.Deferred.t t

(** A "heartbeater" connection is established between the worker and its master. The worker shuts itself down when Rpc.Connection.close_finished on this connection, which is likely when the master process exits. *)

| Disconnect : (connection_state_init_arg:connection_state_init_arg ‑> Connection.t M.t Async.Deferred.t) t

(** An initial connection to the worker is established. The worker shuts itself down when Rpc.Connection.close_finished on this connection. *)

| Called_shutdown_function : worker M.t Async.Deferred.t t

(** WARNING! Worker's spawned with this variant do not shutdown when the master process exits. The worker only shuts itself down on an explicit shutdown request. *)