[pkg-go] Bug#852956: ITP: golang-github-xtaci-kcp -- A Full-Featured Reliable-UDP Library for golang
Roger Shimizu
rogershimizu at gmail.com
Sat Jan 28 14:44:32 UTC 2017
Package: wnpp
Severity: wishlist
Owner: Roger Shimizu <rogershimizu at gmail.com>
* Package name : golang-github-xtaci-kcp
Version : 2.14+git20170120+ds-1
Upstream Author : Daniel Fu <daniel820313 at gmail.com>
* URL : https://github.com/xtaci/kcp-go
* License : Expat
Programming Lang: Go
Description : A Full-Featured Reliable-UDP Library for golang
KCP (golang-github-xtaci-kcp-dev) is a full-featured Reliable-UDP library
for golang. It provides reliable, ordered, and error-checked delivery of
a stream of octets between applications running on hosts communicating
over an IP network.
.
Features:
• Optimized for Online Games, Audio/Video Streaming.
• Compatible with skywind3000's (https://github.com/skywind3000)
C version with optimizations.
• Cache friendly and Memory optimized design in golang.
• Compatible with net.Conn (https://golang.org/pkg/net/#Conn)
and net.Listener (https://golang.org/pkg/net/#Listener).
• FEC (Forward Error Correction)
(https://en.wikipedia.org/wiki/Forward_error_correction)
Support with Reed-Solomon Codes
(https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction)
• Packet level encryption support with AES, TEA, 3DES, Blowfish, Cast5,
Salsa20, in CFB mode. Conventions Control messages like SYN/FIN/RST
in TCP are not defined in KCP, you need some keepalive mechanims
in the application-level. A real world example is to use some
multiplexing protocol over session, such as
smux (golang-github-xtaci-smux-dev),
see kcptun (https://github.com/xtaci/kcptun) for example.
More information about the Pkg-go-maintainers
mailing list