Comment 2 for bug 1531038

Revision history for this message
Michi Henning (michihenning) wrote :

Thanks for that. Yes, I figured that too. The question is whether, they way things are at the moment, things are ever deleted. We allow up to 20 async requests via dbus and then queue any additional ones up on the client side. With the remote server taking 3-10 seconds for each image, it's easy to pile up a few hundred requests just by scrolling down quickly.

Now, when we get a cancel(), we actually cancel() the request if it's one that is still in the queue waiting to be sent. And we don't kick the queue to start working on another request until an earlier request completes. The question for me right now is "at what point (if any) does the listview cancel requests that scroll off the top of the screen while they are still waiting?"

The behavior I'm seeing when scrolling forward suggests that nothing is ever cancelled (or that cancellation isn't working for some reason). If cancellation did work, I wouldn't have to wait for the 200 requests that I just scrolled past to complete before the current region of the listview gets its thumbnails.

At this point, it's still investigation. I don't know what exactly is happening just yet. It's possible that there is still a bug in our request cancellation.