summaryrefslogtreecommitdiff
path: root/doc/design
diff options
context:
space:
mode:
Diffstat (limited to 'doc/design')
-rw-r--r--doc/design/assistant/chunks.mdwn9
-rw-r--r--doc/design/external_special_remote_protocol.mdwn9
2 files changed, 14 insertions, 4 deletions
diff --git a/doc/design/assistant/chunks.mdwn b/doc/design/assistant/chunks.mdwn
index 48a1876e4..a9709a778 100644
--- a/doc/design/assistant/chunks.mdwn
+++ b/doc/design/assistant/chunks.mdwn
@@ -231,6 +231,15 @@ cannot check exact file sizes.
If padding is enabled, gpg compression should be disabled, to not leak
clues about how well the files compress and so what kind of file it is.
+## chunk key hashing
+
+A chunk key should hash into the same directory structure as its parent
+key. This will avoid lots of extra hash directories when using chunking
+with non-encrypted keys.
+
+Won't happen when the key is encrypted, but that is good; hashing to the
+same bucket then would allow statistical correlation.
+
## resuming interupted transfers
Resuming interrupted downloads, and uploads are both possible.
diff --git a/doc/design/external_special_remote_protocol.mdwn b/doc/design/external_special_remote_protocol.mdwn
index 6fe09ff7c..01ffe7fd4 100644
--- a/doc/design/external_special_remote_protocol.mdwn
+++ b/doc/design/external_special_remote_protocol.mdwn
@@ -101,12 +101,14 @@ The following requests *must* all be supported by the special remote.
Tells the special remote it's time to prepare itself to be used.
Only INITREMOTE can come before this.
* `TRANSFER STORE|RETRIEVE Key File`
- Requests the transfer of a key. For Send, the File is the file to upload;
- for Receive the File is where to store the download.
+ Requests the transfer of a key. For STORE, the File is the file to upload;
+ for RETRIEVE the File is where to store the download.
Note that the File should not influence the filename used on the remote.
The filename will not contain any whitespace.
+ Note that it's important that, while a Key is being stored, CHECKPRESENT
+ not indicate it's present until all the data has been transferred.
Multiple transfers might be requested by git-annex, but it's fine for the
- program to serialize them and only do one at a time.
+ program to serialize them and only do one at a time.
* `CHECKPRESENT Key`
Requests the remote check if a key is present in it.
* `REMOVE Key`
@@ -286,7 +288,6 @@ start a new process the next time it needs to use a remote.
the remote. However, \n and probably \0 need to be escaped somehow in the
file data, which adds complication.
* uuid discovery during INITREMOTE.
-* Support for splitting files into chunks.
* Support for getting and setting the list of urls that can be associated
with a key.
* Hook into webapp. Needs a way to provide some kind of prompt to the user