Skip to content

ProcessNotify

[Source]

Notifications for Process connections.

interface ref ProcessNotify

Public Functions

created

[Source]

ProcessMonitor calls this when it is created.

fun ref created(
  process: ProcessMonitor ref)
: None val

Parameters

Returns


stdout

[Source]

ProcessMonitor calls this when new data is received on STDOUT of the forked process

fun ref stdout(
  process: ProcessMonitor ref,
  data: Array[U8 val] iso)
: None val

Parameters

Returns


stderr

[Source]

ProcessMonitor calls this when new data is received on STDERR of the forked process

fun ref stderr(
  process: ProcessMonitor ref,
  data: Array[U8 val] iso)
: None val

Parameters

Returns


failed

[Source]

ProcessMonitor calls this if we run into errors communicating with the forked process.

fun ref failed(
  process: ProcessMonitor ref,
  err: ProcessError val)
: None val

Parameters

Returns


expect

[Source]

Called when the process monitor has been told to expect a certain quantity of bytes. This allows nested notifiers to change the expected quantity, which allows a lower level protocol to handle any framing.

fun ref expect(
  process: ProcessMonitor ref,
  qty: USize val)
: USize val

Parameters

Returns


dispose

[Source]

Called when ProcessMonitor terminates to cleanup ProcessNotify if a child process was in fact started. dispose will not be called if a child process was never started. The notify will know that a process was started and to expect a dispose call by having received a created call.

dispose includes the exit status of the child process. If the process finished, then child_exit_status will be an instance of Exited.

The childs exit code can be retrieved from the Exited instance by using Exited.exit_code().

On Posix systems, if the process has been killed by a signal (e.g. through the kill command), child_exit_status will be an instance of Signaled with the signal number that terminated the process available via Signaled.signal().

fun ref dispose(
  process: ProcessMonitor ref,
  child_exit_status: (Exited val | Signaled val))
: None val

Parameters

Returns