|
|
|
|
|
by carlhu
5230 days ago
|
|
Sure, let me give some further implementation detail. We were inspired by 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. |
|