Forward Error Correction is an important part of communications in Citizen Synergy. It enables communication to occur error free between parties with widely different and often low quality data links.
Reed-Solomon Coding is used extensively to provide error detection and correction in data storage and transmission.
There are many implementations of Reed-Solomon, one popular Go implementation is:
To make use of Reed-Solomon properly you need to specify 2 numbers:
- Number of Data Shard
- Number of Parity Shard
Your application comes with default numbers of data shards and parity shards suitable for normal operations. The following is for those geeks who like to make further tuning:
- Number of Data Shard = 6 to 256 (e.g. 10)
- Number of Parity Shard = 2 to the number of data shard selected (e.g. 3)
The total number of shards is 10 + 3 = 13.
The higher the ratio of the parity shards compared to the data shards, the better the error handling but also take you more resources.