StreamFullMode Type
How a bounded *streaming* channel behaves once its capacity is reached — the streaming analogue of `OverflowMode`, but with a genuine backpressure option that only makes sense against a live consumer (a buffered one-shot verb has no such consumer to pace, which is why `OutputBufferPolicy` has no equivalent case).
Union cases
| Union case |
Description
|
Full Usage:
Backpressure
|
Slow the producer down instead of dropping anything: the pump stops draining the OS pipe until the consumer catches up, so the child itself observably blocks writing to a full stdout/stderr pipe. Bounds memory losslessly, at the cost of the child's timing — opt in only when you intend to pace a trusted producer against your consumer (see the deadlock note in [Streaming](../../docs/streaming.md) before using it: a `Command.Timeout` kills the *child* but does not by itself free a writer parked here if you abandon reading — dispose the `RunningProcess` to release it). |
Full Usage:
DropNewest
|
"Head" semantics: keep what is already queued and drop the newest incoming item. Lossy but bounded; sets `RunningProcess.DroppedStreamLineCount`. |
Full Usage:
DropOldest
|
Ring-buffer / "tail" semantics: drop the oldest queued item to make room for the newest. Lossy but bounded; sets `RunningProcess.DroppedStreamLineCount`. |
Full Usage:
Error
|
Fail-loud ceiling: once the cap is reached, fault the stream with `ProcessError.OutputTooLarge` (observed by the consumer as the streaming enumerator throwing, the same fault path a throwing per-line handler already uses). |
Instance members
| Instance member |
Description
|
Full Usage:
this.IsBackpressure
Returns: bool
|
|
Full Usage:
this.IsDropNewest
Returns: bool
|
|
Full Usage:
this.IsDropOldest
Returns: bool
|
|
Full Usage:
this.IsError
Returns: bool
|
|
ProcessKit API Reference