Packeter: Difference between revisions
Adamcolton (talk | contribs) Created page with "The packeter is meant to be used in Beeds. It breaks messages into packets up to length 10k. For now, I will use Reed Solomon, later I may go back to Raptor codes. https://gi..." |
Adamcolton (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
The packeter is meant to be used in Beeds. It breaks messages into packets up to length 10k. For now, I will use Reed Solomon, later I may go back to Raptor codes. | The packeter is meant to be used in [[Beeds]]. It breaks messages into packets up to length 10k. For now, I will use Reed Solomon, later I may go back to Raptor codes. | ||
https://github.com/klauspost/reedsolomon | https://github.com/klauspost/reedsolomon | ||
Revision as of 21:50, 1 March 2016
The packeter is meant to be used in Beeds. It breaks messages into packets up to length 10k. For now, I will use Reed Solomon, later I may go back to Raptor codes.
https://github.com/klauspost/reedsolomon
Look at longhair and Jerasure for examples of erasure codes. Look at Raptor codes.
See if this works and if so, port it to Go.
- https://tools.ietf.org/html/rfc6330
- https://tools.ietf.org/html/rfc5053
- https://en.wikipedia.org/wiki/Raptor_code
Maths
We need a cumulative binomial distribution for this; that is the probability that if we send X packets, at least Y will be received. For instance, if we send 1000 packets, there's about a 53% change that we'll get at least 950 of them, and about a 99% chance we'll get at least 933 of them. I found that empirically.
https://gowalker.org/github.com/ematvey/gostat#Binomial_CDF_At
Actually, I want the inverse cumulative binomial distribution, or quantile function. I've put this on hold for now, the math is taking too long to understand. Instead, I'm iterating over the B_CDF funciton to find the right value.