From: Andre Noll Date: Sat, 7 Aug 2010 16:36:45 +0000 (+0200) Subject: Introduce per group slice sizes. X-Git-Tag: v0.4.5~15 X-Git-Url: http://git.tuebingen.mpg.de/?a=commitdiff_plain;ds=sidebyside;h=fd62cf6f3c17ec9f504d3a05be4fd48f969dcb01;hp=fd62cf6f3c17ec9f504d3a05be4fd48f969dcb01;p=paraslash.git Introduce per group slice sizes. While the FEC parameters k and n are fixed, the size of a FEC slice may be different for each FEC group. This patch exploits this freedom and implements variable sized FEC slices for the DCCP and UDP transports. Two new functions, compute_group_size() and compute_slice_size(), are introduced which try to compute an optimal size for the entire FEC group and the slice size of the group respectively. The group size is chosen such that the group duration is approximately 150ms. Larger values cause too much latency while smaller groups use the available bandwidth ineffectively. Several contraints such as the maximal packet size are taken into account when computing the group size. Once the group size is known, a suitable slice size is chosen. It should be as small as possible to avoid unnecessary FEC calculations but must be large enough to guarantee that the k data slices suffice to encode the header (if needed) and the data chunk(s). ---