Module Ketrew.Process_holder

module Process_holder: sig .. end


A container for internal server-side processes (for now SSH connections/tunnels).
module Ssh_connection: sig .. end
A module encapsulating daemonized SSH connections, the functions Ketrew.Process_holder.Ssh_connection.setsid_ssh is exposed to the Ketrew.Command_line module for the "ketrew internal-ssh" command.
type t 
The container for mnoitored server-side processes.
val load : ?preconfigure:Ketrew.Configuration.ssh_connection list ->
unit -> (t, 'a) Unix_io.Deferred_result.t
Create a new process-holder.
val unload : t ->
(unit,
[> `List of
[> `Failure of string
| `IO of [> `Read_file_exn of string * exn ]
| `Shell of
string *
[> `Exited of int
| `Exn of exn
| `Signaled of int
| `Stopped of int ] ]
list ])
Unix_io.Deferred_result.t
Destroy a process-holder by attempting to kill all its processes.
val answer_message : t ->
host_io:Ketrew.Host_io.t ->
Ketrew_pure.Protocol.Process_sub_protocol.up ->
(Ketrew_pure.Protocol.Process_sub_protocol.down, 'a)
Unix_io.Deferred_result.t
Answer a request from the sub-protocol of the process-holder.