Displaying 1 to 9 from 9 results

kcptun - A Secure Tunnel Based On KCP with N:M Multiplexing

  •    Go

kcptun maintains a single website — github.com/xtaci/kcptun. Any websites other than github.com/xtaci/kcptun are not endorsed by xtaci. kcptun won't publish anything on any social media.Download precompiled Releases.

tinyfecVPN - A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support

  •    C++

A Lightweight VPN with Build-in Forward Error Correction Support(or A Network Improving Tool which works at VPN mode). Improves your Network Quality on a High-latency Lossy Link. tinyfecVPN uses Forward Error Correction(Reed-Solomon code) to reduce packet loss rate, at the cost of additional bandwidth usage.

UDPspeeder - A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction,for All Traffics(TCP/UDP/ICMP)

  •    C++

A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction. Assume your local network to your server is lossy. Just establish a VPN connection to your server with UDPspeeder + any UDP-based VPN, access your server via this VPN connection, then your connection quality will be significantly improved. With well-tuned parameters , you can easily reduce IP or UDP/ICMP packet-loss-rate to less than 0.01% . Besides reducing packet-loss-rate, UDPspeeder can also significantly improve your TCP latency and TCP single-thread download speed.

go-erasure - Erasure coding (Reed–Solomon coding) in Go

  •    C++

Go bindings for erasure coding (Reed-Solomon coding). Erasure coding is similar to RAID based parity encoding, but is more generalized and powerful. When defining an erasure code, you specify a k and m variable. m is the number of shards you wish to encode and k is the number shards it takes to recreate your original data. Hence k must be less than m and usually not equal (as that would be a pointless encoding). The real magic with erasure coding is that fact that ANY k of the m shards can recreate the original data. For example, a erasure coding scheme of k=8 and m=12 means any four of the encoded shards can be lost while the original data can still be constructed from the valid remaining eight shards.




libcorrect - C library for Convolutional codes and Reed-Solomon

  •    C

libcorrect is a library for Forward Error Correction. By using libcorrect, you can encode extra redundancy into a packet of data and then send it across a lossy channel. When the packet is received, it can be decoded to recover the original, pre-encoded data. libcorrect accomplishes this task with two algorithms, Convolutional codes and Reed-Solomon. Convolutional codes are robust to a constant background noise, while Reed-Solomon error correction is effective at dealing with noise that occurs in bursts. These algorithms have played an important role in telecommunications. libcorrect uses a Viterbi algorithm decoder to decode convolutional codes.

infectious - Reed-Solomon forward error correcting library

  •    Go

Infectious implements Reed-Solomon forward error correction. It uses the Berlekamp-Welch error correction algorithm to achieve the ability to actually correct errors. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

reedsolomon - Reed-Solomon Erasure Code engine in Go, could more than 10GB/s per core

  •    Go

Cache-friendly codes will help to solve no.2 & no.3, and more, use a sync.Map for cache inverse matrix, it will help to save about 1000ns when we need same matrix. And we must know the benchmark test is quite different with encoding/decoding in practice.


scat - Decentralized, trustless backup tool

  •    Go

...pick some or all of the above, apply in any order. Indeed, scat decomposes backing up and restoring into basic stream processors ("procs") arranged like filters in a pipeline. They're chained together, piping the output of proc x to the input of proc x+1. As such, though created for backing up data, its core doesn't actually know anything about backups, but provides the necessary procs.