Closed Bug 227516 Opened 21 years ago Closed 17 years ago

get rid of amount downloaded jump after a Pause

Categories

(Toolkit :: Downloads API, defect)

defect
Not set
trivial

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: Waldo, Unassigned)

References

Details

When a download is paused, some data has been downloaded but not processed.  The
unprocessed data is not reflected by the DL manager.  Thus, when a download is
Pause'd and then Resume'd, the progress displays an amount downloaded "jump"
afterwards.  On my cable modem this can be as much as 80KB total.

This can be disconcerting to users; see bug 227195 for one example of this.  Ben
Goodger's comment on this illuminates the source of the problem:

http://bugzilla.mozilla.org/show_bug.cgi?id=227195#c2

I think we have two choices:

1. Process all DL'd data immediately after Pause and reflect all data DL'd (not
processed) in manager
2. Show the amount of data DL'd (and not the amount processed)

This will eliminate the jump.  It's mostly cosmetic, but it can be
disconcerting.  I don't know which is easier, so I'll leave that up to a developer.
Assignee: blake → bugs
taking qa
QA Contact: aebrahim
*** Bug 302382 has been marked as a duplicate of this bug. ***
QA Contact: ali → download.manager
Assignee: bugs → nobody
Version: unspecified → Trunk
The reason for the jump in speed is because the network (pump) is told not to give the data it has to the thing processing the download. This causes the TCP window to fill up (it was typically 64kb at one point for some OSes), and through the reliability provided by TCP, it'll keep the connection alive waiting for the application to read out the data.

Pausing the connection doesn't break the connection. It just causes the buffer to fill up and /that/ prevents more data from arriving. This is also why pause/resume doesn't work (or shouldn't work) across network connectivity loss.

One way to have it not have the download speed jump is to ignore the speed for the first time, and it'll eventually speed up again. (TCP activity: transfer, transfer, transfer, pause, window filling, window filling, window full -> report window of 0 free [to the server], resume -> make all the data available to application but window still 0, start increasing window, transfer, ...)
I don't see this anymore since we don't use suspend on the channels.

WORKSFORME

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9b3pre) Gecko/2008020204 Minefield/3.0b3pre
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.