Hi devs, I'm having second thoughts about change #5061 (and the similar change for harbor) by Romain. Delaying the thread, as we agreed during a former discussion, causes disconnections/reconnections, which is silly. On the other hand, dropping is ugly too if it happens too often. Think of icecast that sends a burst of data at the beginning: you start listening, but the buffer is overfull, so data drops which is not nice to hear. I did not test that, I hope that I'm not seeing something that avoids this kind of behaviour.
Otherwise, I'm wondering if we should not have the two behaviours: wait a bit for the buffer to empty, but if it hasn't moved in a few seconds, then drop data. This could be done by waiting on Read and Delay in the Duppy scheduler. Note that there is no need to wait long, since if the harbor/http source is being pulled, the next round of output will occur very soon; otherwise, if the source is currently unused, dropping is harmless. Cheers -- David
