Commit f530355
committed
SMB: Add real-time progress for file transfers
- Add `export_to_local_with_progress` and `import_from_local_with_progress` to Volume trait (default delegates to non-progress version)
- SmbVolume overrides both using smb2's `read_file_with_progress` / `write_file_with_progress` with pipelined I/O
- `copy_single_path` and `copy_volumes_with_progress` wired to pass progress callback through to Volume methods
- Progress callback uses `AtomicU64` + `Cell<Instant>` for throttled Tauri event emission (satisfies `Fn` constraint)
- Cancellation flows via `ControlFlow::Break` from callback → smb2 stops transfer
- Update smb2 dependency to latest (adds `read_file_with_progress`)1 parent a7d401a commit f530355
7 files changed
Lines changed: 360 additions & 59 deletions
File tree
- apps/desktop/src-tauri/src/file_system
- volume
- write_operations
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
141 | 142 | | |
142 | 143 | | |
143 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
144 | 148 | | |
145 | 149 | | |
146 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
397 | 397 | | |
398 | 398 | | |
399 | 399 | | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
400 | 415 | | |
401 | 416 | | |
402 | 417 | | |
| |||
405 | 420 | | |
406 | 421 | | |
407 | 422 | | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
408 | 438 | | |
409 | 439 | | |
410 | 440 | | |
| |||
0 commit comments