aboutsummaryrefslogtreecommitdiff
path: root/doc/design
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-12-27 12:04:51 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-12-27 12:04:51 -0400
commitddc1e9147e7581003d663488747b450f81b7bf32 (patch)
tree2e2e3ee1aef839ceb8e1ce2d3dc8a32504cd1693 /doc/design
parent0d24eb208614288067ddc3118fe4654ca2e86e77 (diff)
update
Diffstat (limited to 'doc/design')
-rw-r--r--doc/design/external_special_remote_protocol.mdwn18
1 files changed, 15 insertions, 3 deletions
diff --git a/doc/design/external_special_remote_protocol.mdwn b/doc/design/external_special_remote_protocol.mdwn
index 86f9399c0..c27b50bfe 100644
--- a/doc/design/external_special_remote_protocol.mdwn
+++ b/doc/design/external_special_remote_protocol.mdwn
@@ -29,6 +29,11 @@ In order to avoid confusing interactions, one or the other has control
at any given time, and is responsible for sending requests, while the other
only sends replies to the requests.
+Each protocol line starts with a command, which is followed by the
+command's parameters (a fixed number per command), each separated by a
+single space. The last parameter may contain spaces. Parameters may be
+empty, but the separating spaces are still required in that case.
+
## example session
The special remote is responsible for sending the first message, indicating
@@ -206,7 +211,14 @@ remote.
## TODO
-* Communicate when the network connection may have changed, so long-running
- remotes can reconnect.
-* uuid discovery during initremote.
+* When storing encrypted files stream the file up/down the pipe, rather
+ than using a temp file. Will probably involve less space and disk IO,
+ and makes the progress display better, since the encryption can happen
+ concurrently with the transfer. Also, no need to use PROGRESS in this
+ scenario, since git-annex can see how much data it has sent/received from
+ the remote. However, \n and probably \0 need to be escaped somehow in the
+ file data, which adds complication.
+* uuid discovery during INITREMOTE.
+* uuid verification during PREPARE (so, for example, it can check if a
+ removable drive repo has the expected uuid)
* Support for splitting files into chunks.