diff options
author | Joey Hess <joey@kitenet.net> | 2012-08-23 16:27:21 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-08-23 16:27:21 -0400 |
commit | 73c24e05d86e0d8ef5c312fde92e7898154a01e2 (patch) | |
tree | 07f49e589c188de258860ffbae0e6a63a227f27f /doc/design/assistant/blog/day_63__transfer_retries.mdwn | |
parent | d5d4b8db345b3e4a81b2ad2d7a4f2e5f1e30d519 (diff) |
blog for the day
Diffstat (limited to 'doc/design/assistant/blog/day_63__transfer_retries.mdwn')
-rw-r--r-- | doc/design/assistant/blog/day_63__transfer_retries.mdwn | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_63__transfer_retries.mdwn b/doc/design/assistant/blog/day_63__transfer_retries.mdwn new file mode 100644 index 000000000..d668f507b --- /dev/null +++ b/doc/design/assistant/blog/day_63__transfer_retries.mdwn @@ -0,0 +1,26 @@ +Implemented everything I planned out yesterday: Expensive scans are only +done once per remote (unless the remote changed while it was disconnected), +and failed transfers are logged so they can be retried later. + +Changed the TransferScanner to prefer to scan low cost remotes first, +as a crude form of scheduling lower-cost transfers first. + +A whole bunch of interesting syncing scenarios should work now. I have not +tested them all in detail, but to the best of my knowledge, all these +should work: + +* Connect to the network. It starts syncing with a networked remote. + Disconnect the network. Reconnect, and it resumes where it left off. +* Migrate between networks (ie, home to cafe to work). Any transfers + that can only happen on one LAN are retried on each new network you + visit, until they succeed. + +One that is not working, but is soooo close: + +* Plug in a removable drive. Some transfers start. Yank the plug. + Plug it back in. All necessary transfers resume, and it ends up + fully in sync, no matter how many times you yank that cable. + +That's not working because of an infelicity in the MountWatcher. +It doesn't notice when the drive gets unmounted, so it ignores +the new mount event. |