27 lines
1.2 KiB
Text
27 lines
1.2 KiB
Text
|
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.
|