// these negative values will be translated to real numbers.
size_t stream_pos = 0;
+ // Position at which to end the stream (one-past-the-end, used for fragments).
+ // -1 means never to end; this is the common case.
+ size_t stream_pos_end = 0;
+
// Number of bytes we've sent of data. Only relevant for SENDING_DATA.
size_t bytes_sent = 0;