Open gmaxwell opened 2 years ago
@gmaxwell Thank you for the good idea. I think we'd start with integrating CauchyCaterpillar
Yes, I think we definitely should try it and compare performance with Reed Solomon.
Unlike Reed Solomon and LDPC, it seems the codec and protocol are not standardized, right?
For now I'll add help wanted
tag so that someone could pick this up; maybe a bit later I'll have time for this by myself.
This issue describe details on incorporating a new FEC implementation: #236
For low latency, you can get better loss tolerance for a given delay from a convolutional code such as https://github.com/catid/CauchyCaterpillar ... You may want to consider using this FEC (or one like it int he future):
As, https://hal.inria.fr/hal-01395937v2/document shows: streaming FEC can "reduce the FEC-related latency by an order of magnitude while keeping similar erasure recovery performance". https://faculty.engineering.asu.edu/mre/wp-content/uploads/sites/31/2020/02/CRLNC.pdf has a more extensive evaluation of this kind of short window streaming FEC.
(the same author has a block FEC called wirehair which requires much lower overhead than LDPC-staircase esp for small numbers of packets).