Code Poetry
and Text Adventures

by catid posted (>30 days ago) 2:58pm Tue. Sep 17th 2013 PDT
I've launched a new github project at that will shortly be a wrapper for Wirehair for the streaming data case.  In this case, data is buffered into chunks all the same size and sent across at whatever the input rate is without flow control.  The Wirehair error correction code is used to add check symbols for redundancy.  Calico is used for data security and integrity.

The buffer size in milliseconds seems to be possible to compute from packetloss burst statistics.  The main purpose of buffering is to avoid failures during packetloss bursts, after the buffer exceeds the transmission time.

If you can determine how long the buffer needs to be to handle bursts with a given minimum probability, with good confidence, then the buffer size can actually be dynamically adjusted by the code.

Other knobs like how many extra symbols to send, or how many symbols to include in a code group are already determined based on the live situation.
last edit by catid edited (>30 days ago) 2:59pm Tue. Sep 17th 2013 PDT