READ BYTES · FRAME EVENTS · CONSUME
Buffered response versus incremental event consumption
Fragment real encoded bytes, inspect the parser buffer and follow complete events into an ordered text consumer.
Text source and visible output
Appended output
Unparsed buffer: first 32 bytes in hex
Your experiment
Switch between streaming and full-body buffering. Compare first-output latency, peak unparsed bytes and final text. This illustrates consumption strategies, not a version-specific A2A method contract.
The text is split into six-code-point deltas, numbered from 1. A source fault targets event 3, or the last event when fewer than three exist. Output is appended only after a complete frame is parsed and consumer processing finishes.
In streaming mode a full application queue pauses reads; one additional event may be processing. In buffered mode all body bytes arrive before parsing begins. The same 60-second inspection maps proportionally to each scenario’s modeled duration; it is not a network performance measurement.
Recent parser and consumer events
Original event fixtures
Offline byte-framing lesson. SSE parsing supports only the generated LF-delimited id/data subset; this is not a complete EventSource implementation. The alternative uses a zero compression byte plus four-byte big-endian payload length and UTF-8 JSON, not Protobuf. No HTTP/2 frames, headers, trailers, grpc-status, compression, TLS, provider API, A2A envelope, retries or reconnect/resume are implemented. The queue policy is application backpressure, not transport flow control. Duplicate suppression and strict contiguous event IDs are explicit application policies, not guarantees supplied by SSE/gRPC. Missing IDs are rejected without reordering or replay. Empty source is complete with no output; an incomplete frame remains truncated. SSE specification · gRPC message framing.
Separate transport fragments from messages
The input text becomes numbered deltas of six Unicode code points. Codec chooses the generated SSE subset or a length-prefixed UTF-8 JSON format. Network chunk bytes determines how much of that encoded stream arrives at once; a chunk can end inside a frame or a multibyte character. Mode chooses incremental streaming or collecting the whole body before parsing. Neither selection invokes an A2A task API; the historical page name is a topic pointer, while the experiment demonstrates actual byte framing and consumption.
Make the consumer slower
Send interval spaces incoming chunks in modeled milliseconds. Consumer processing time determines how long a decoded event takes to append. Queue capacity limits waiting events; one more event can be actively processing. In streaming mode a full queue pauses reads, while buffered mode receives the whole body before decoding. Compare one-byte chunks with sixty-four-byte chunks while keeping the text constant. Then make processing slower and capacity one: inspect paused reads, peak parser bytes and the queued sequence numbers rather than assuming every received chunk produces visible text.
Inject a broken sequence
Source fault can repeat, omit, corrupt or truncate an event. With Duplicate handling enabled, a repeated sequence is ignored after its first application; disabling it visibly repeats text. A missing numbered event makes later out-of-order events fail rather than silently repairing the gap. Malformed JSON is rejected, and truncated bytes can remain unfinished in the parser. Edit Text to stream to include an emoji and use one-byte chunks: a healthy scenario should still reconstruct the original text, because decoding waits for complete frames.
Read timing honestly
Play stretches the chosen scenario into sixty inspection seconds. Pause, Next event, Restart, Speed and the inspection timeline let you inspect parser state without claiming that the animation is a benchmark. First-output latency and total modeled duration may differ between streaming and buffered modes. This model has no network reconnect, replay service, TLS, complete EventSource parser or Protobuf schema. Its explicit limits help distinguish framing correctness, queue policy and application ordering instead of treating all three as one streaming feature.