Incremental by construction: bytes are appended to a buffer and complete
events are cut off the front, so an event split across any number of network
chunks reassembles, and a chunk carrying several events yields several.
A trailing partial event at end-of-stream is DISCARDED rather than yielded.
A truncated frame is not an event that happened — emitting half of one would
hand the adapter a malformed payload to misparse, and the stream's own
grammar check (a missing terminal finish) is what reports the truncation.
Frame one byte stream into events.
Incremental by construction: bytes are appended to a buffer and complete events are cut off the front, so an event split across any number of network chunks reassembles, and a chunk carrying several events yields several.
A trailing partial event at end-of-stream is DISCARDED rather than yielded. A truncated frame is not an event that happened — emitting half of one would hand the adapter a malformed payload to misparse, and the stream's own grammar check (a missing terminal
finish) is what reports the truncation.