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.
- Request
Deadline - A positive per-request deadline, measured in milliseconds at the configuration edge.
- Subprocess
Config - How to run a plugin that speaks
docs/plugin-protocol.md. - Subprocess
Plugin - The factory a configuration reaches through
plugin: subprocess. - Subprocess
Source - 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.