4 ms·
Can you provide a little more detail on how it's implemented? Are you using resumable.js[1] or is it a custom implementation? [1] https://github.com/23/resuma
by alt_ 15y ago
Can you provide a little more detail on how it's implemented?
Are you using resumable.js[1] or is it a custom implementation?
[1] https://github.com/23/resumable.js https://github.com/23/resumable.js
- carlhu 15y agoSure, let me give some further implementation detail. We were inspired by https://github.com/dmitry-dedukhin/lightweight-uploader https://github.com/dmitry-dedukhin/lightweight-uploader, particularly the js implementation from Dmitry. It turned out, however, that the simple flow control he implemented was not adaptive enough to simultaneously accommodate both low-latency/low bandwidth and high-latency/high-bandwidth connection. For resumeable uploads to work efficiently for both cases, we implemented TCP/IP-style congestion control (e.g. slow start window size scaling and exponential back-off retry timeout), but over http POST requests instead of UDP packet sends.