From: Andre Noll Date: Wed, 6 Oct 2010 22:08:31 +0000 (+0200) Subject: udp: Remove chunk queueing. X-Git-Tag: v0.4.5~2^2~1 X-Git-Url: http://git.tuebingen.mpg.de/?a=commitdiff_plain;h=0348a38aa0616abf887063d980cbef76914599f5;hp=0348a38aa0616abf887063d980cbef76914599f5;p=paraslash.git udp: Remove chunk queueing. This was broken beyond repair for several reasons: First of all, not each write to a UDP socket with no listener on the remote leads to a write error. For a local connection on Linux, only each second write yields ECONNREFUSED while all others seem to succeed. So we would only queue each second FEC slice which is next to useless. Secondly, only buffer references are stored in the chunk queue, the buffer contents are not copied for performance reasons. This works fine if the buffers point to the read-only memory map of the audio file, which is the case for the HTTP sender, but not for the UDP sender. In fact, for UDP the buffer is always the same, namely ->enc_buf of the FEC client struct for the UDP target. Finally, it is not clear that the buffer references stored in the chunk queue are still valid when the chunk queue is emptied by sending the buffers since vss.c might have realloced the enc_buf. So remove that broken code and be happy. ---