`bytes` is what was received in this batch.
`totalBytes` are total bytes received so far.
`totalBytesExpected` are total bytes that you expect to receive.  This usually comes from content-length or some other mechanism.

These 3 fields are what typically comprise a progress update.  To get the percentage you would do `totalBytes/totalbytesExpected`