ProcessNotify¶
Notifications for Process connections.
Public Functions¶
created¶
ProcessMonitor calls this when it is created.
Parameters¶
- process: ProcessMonitor ref
Returns¶
- None val
stdout¶
ProcessMonitor calls this when new data is received on STDOUT of the forked process
Parameters¶
- process: ProcessMonitor ref
- data: Array[U8 val] iso
Returns¶
- None val
stderr¶
ProcessMonitor calls this when new data is received on STDERR of the forked process
Parameters¶
- process: ProcessMonitor ref
- data: Array[U8 val] iso
Returns¶
- None val
failed¶
ProcessMonitor calls this if we run into errors communicating with the forked process.
Parameters¶
- process: ProcessMonitor ref
- err: ProcessError val
Returns¶
- None val
expect¶
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.
Parameters¶
- process: ProcessMonitor ref
- qty: USize val
Returns¶
- USize val
dispose¶
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¶
- process: ProcessMonitor ref
- child_exit_status: (Exited val | Signaled val)
Returns¶
- None val