Represents a byte range as used in the Range header.
If @end is non-negative, then @start and @end represent the bounds
of of the range, counting from 0. (Eg, the first 500 bytes would be
represented as @start = 0 and @end = 499.)
If @end is -1 and @start is non-negative, then this represents a
range starting at @start and ending with the last byte of the
requested resource body. (Eg, all but the first 500 bytes would be
@start = 500, and @end = -1.)
If @end is -1 and @start is negative, then it represents a "suffix
range", referring to the last -@start bytes of the resource body.
(Eg, the last 500 bytes would be @start = -500 and @end = -1.)
Represents a byte range as used in the Range header.
If @end is non-negative, then @start and @end represent the bounds of of the range, counting from 0. (Eg, the first 500 bytes would be represented as @start = 0 and @end = 499.)
If @end is -1 and @start is non-negative, then this represents a range starting at @start and ending with the last byte of the requested resource body. (Eg, all but the first 500 bytes would be @start = 500, and @end = -1.)
If @end is -1 and @start is negative, then it represents a "suffix range", referring to the last -@start bytes of the resource body. (Eg, the last 500 bytes would be @start = -500 and @end = -1.)