Hacker News new | ask | show | jobs
by hackerpacker 2631 days ago
re: performance, as someone who isn't particularly enamored with rust or go (or any language), how is this thing only doing 16MBps local to local?!?
1 comments

Transfer is done via DTLS, a protocol on top of UDP, so we have to deal with packet loss and retransmission, which itself is controlled by SCTP. gfile uses pion/sctp[0] (via pion/webrtc[1]), and there has been some work going on to improve performances. :)

The performances used to be far worse, but with the recent improvements on pion/sctp, I felt gfile had become fast enough to be useful to some people.

[0]: https://github.com/pion/sctp

[1]: https://github.com/pion/webrtc

You may want to look at QUIC. It'll be part of http/3 and it's on top of UDP. There is a go library called quic-go [1] that works quite well.

I was recently playing with a similar thing and used the lib [2]

[1] https://github.com/lucas-clemente/quic-go

[2] https://github.com/binwiederhier/natter