4 ms·
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
by Antonito 7y ago
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 https://github.com/pion/sctp
[1]: https://github.com/pion/webrtc https://github.com/pion/webrtc
- binwiederhier 7y agoYou 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 https://github.com/lucas-clemente/quic-go [2] https://github.com/binwiederhier/natter https://github.com/binwiederhier/natter