Skip to main content

Module subprocess

Module subprocess 

Source
Expand description

Sources that are other processes, on both sides of the pipe.

docs/plugin-protocol.md is the normative text; this module is its Rust implementation. SubprocessSource is the engine’s half — a TaskSource that is a spawned program — and serve is the plugin’s half, hosting any plugin of this build behind the same protocol so the two can be exercised against each other.

Nothing here compensates for a capability. A subprocess-hosted source declares what it can do in the handshake exactly as a compiled-in one does, and the engine’s one compensation layer reads that declaration and does the rest — which is what keeps a source’s answers the same whichever side of a pipe it is on.

Structs§

Program
The program that serves a source: a name that is not blank.
RequestDeadline
A positive per-request deadline, measured in milliseconds at the configuration edge.
SubprocessConfig
How to run a plugin that speaks docs/plugin-protocol.md.
SubprocessPlugin
The factory a configuration reaches through plugin: subprocess.
SubprocessSource
A source served by a spawned program speaking docs/plugin-protocol.md.

Constants§

MAX_LINE
The most a peer may put on one line before this side stops reading it.

Functions§

serve
Serve one connection until the engine closes its input.
serve_plugin
Serve one connection as the registered plugin kind.