Commit 895097b
authored
feat: pipeline file parts within each download connection (#107)
* feat: pipeline file parts within each download connection
Workers requested their block's 1MB parts sequentially, paying a full
round-trip of dead time per part and capping each connection around
3-4 MB/s regardless of its server-side allowance - the multi-connection
download barely improved on a single connection (~10 MB/s with dips).
Request all parts of a block concurrently on the block's connection,
keeping each connection's pipe full (the same pipelining official
clients use), and log a completion summary with the effective average
speed to make future tuning measurable. Part writes stay positional
and block completion still gates the contiguous confirmed prefix used
for progress and resume persistence.
* feat: make multi-connection tuning configurable with documented defaults
Expose the remaining hardcoded transfer knobs in General Config: chunk
size (snapped to Telegram's allowed 128/256/512/1024 KB values, 512
being WTelegramClient's own default), block size per connection (which
determines the requests in flight per connection) and the minimum file
size for multi-connection mode. Values are captured once per download
so a config change cannot desynchronize offsets mid-transfer.
The Config page now states the library default, app default and
recommended value for each transfer setting, so the stock WTelegramClient
behavior (2 parallel chunks, 512KB parts, single connection) can be
restored by configuration alone.1 parent 1179efb commit 895097b
3 files changed
Lines changed: 179 additions & 44 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | 274 | | |
278 | 275 | | |
279 | 276 | | |
280 | 277 | | |
281 | 278 | | |
282 | 279 | | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
283 | 306 | | |
284 | 307 | | |
285 | 308 | | |
286 | | - | |
| 309 | + | |
287 | 310 | | |
288 | 311 | | |
289 | 312 | | |
| |||
448 | 471 | | |
449 | 472 | | |
450 | 473 | | |
451 | | - | |
452 | | - | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
453 | 478 | | |
454 | | - | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
455 | 483 | | |
456 | 484 | | |
457 | 485 | | |
458 | 486 | | |
459 | 487 | | |
460 | 488 | | |
461 | 489 | | |
| 490 | + | |
462 | 491 | | |
463 | | - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
464 | 502 | | |
465 | 503 | | |
466 | 504 | | |
467 | 505 | | |
468 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
469 | 521 | | |
470 | | - | |
471 | | - | |
472 | | - | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
473 | 534 | | |
474 | | - | |
475 | 535 | | |
476 | | - | |
477 | | - | |
478 | 536 | | |
479 | 537 | | |
480 | 538 | | |
| |||
484 | 542 | | |
485 | 543 | | |
486 | 544 | | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
513 | 556 | | |
514 | 557 | | |
515 | 558 | | |
| |||
523 | 566 | | |
524 | 567 | | |
525 | 568 | | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
526 | 572 | | |
527 | 573 | | |
528 | 574 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| 207 | + | |
207 | 208 | | |
208 | 209 | | |
209 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
210 | 237 | | |
211 | 238 | | |
212 | 239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | | - | |
| 240 | + | |
| 241 | + | |
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
| |||
252 | 253 | | |
253 | 254 | | |
254 | 255 | | |
255 | | - | |
| 256 | + | |
256 | 257 | | |
257 | 258 | | |
258 | 259 | | |
| 260 | + | |
259 | 261 | | |
260 | 262 | | |
261 | 263 | | |
| |||
272 | 274 | | |
273 | 275 | | |
274 | 276 | | |
275 | | - | |
| 277 | + | |
| 278 | + | |
276 | 279 | | |
277 | 280 | | |
278 | 281 | | |
279 | 282 | | |
280 | 283 | | |
281 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
282 | 344 | | |
283 | 345 | | |
284 | 346 | | |
| |||
0 commit comments