Stéphane Ducasse wrote
I did not get it.
Besides being hackish, using exceptions to notify progress has other drawbacks. For example, if you use announcements, then everyone who is interested in receiving them will be notified. With exceptions, even if you want to be notified, the exception may get handled before you ever get a chance. My whole journey with cleaning SystemProgress started because I was trying to get progress notifications, but they were being handled by code that I didn't own before I got them. Announcements also allow elegant simplifications like e.g. for system progress, the progress bar might be just another subscriber to the announcements, so it's really easy to enable/disable it. Also, | client | client := ZnClient new. [ client signalProgress: true; url: fileUrl; downloadTo: self workspace fullName. ] on: HTTPProgress do: [ :progress | "handle progress" progress resume ]. vs. client := ZnClient new. client onProgressSend: #progress: to: self. url: fileUrl; downloadTo: self workspace fullName. -- View this message in context: http://forum.world.st/ENH-Zinc-Streaming-Download-Progress-tp4639686p4640024... Sent from the Pharo Smalltalk mailing list archive at Nabble.com.