Platonides wrote:
The reading process should probably have higher priority than the colector. Losing UDP packets is better than fulling the pipe (/me wonders what happens when it gets full. Write failed? SIGPIPE? Nuclear meltdown?).
The pipe write will block, the collection process will yield, and the analysis process will gain control and empty the buffer. Not nuclear meltdown, just some microseconds lost. Losing UDP packets is almost certainly worse than that, but luckily the UDP receive buffer is quite a bit larger, and it's configurable at runtime.
-- Tim Starling