summaryrefslogtreecommitdiff
path: root/doc/design/assistant/blog/day_63__transfer_retries.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-08-23 16:27:21 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-08-23 16:27:21 -0400
commit73c24e05d86e0d8ef5c312fde92e7898154a01e2 (patch)
tree07f49e589c188de258860ffbae0e6a63a227f27f /doc/design/assistant/blog/day_63__transfer_retries.mdwn
parentd5d4b8db345b3e4a81b2ad2d7a4f2e5f1e30d519 (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.mdwn26
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.