diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-09-26 19:19:32 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-09-26 19:19:32 -0400 |
commit | 7543b761d18cf225f32d1c594cc0c35ee34b9264 (patch) | |
tree | 9b0eb25390026d03ec9fe7cb65576b5df2d68455 /doc | |
parent | d08b01d68886a9deaf7d3c1c10a2aeb1d68e2535 (diff) |
remove incorrect bit about multiple concurrent transfers, and improve description of protocol flow
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/external_special_remote_protocol.mdwn | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/doc/design/external_special_remote_protocol.mdwn b/doc/design/external_special_remote_protocol.mdwn index 40f764c64..8cb7ed3b6 100644 --- a/doc/design/external_special_remote_protocol.mdwn +++ b/doc/design/external_special_remote_protocol.mdwn @@ -56,17 +56,18 @@ and check that it's valid. git-annex responds with the configuration values VALUE true Once the special remote is satisfied with its configuration and is -ready to go, it tells git-annex. +ready to go, it tells git-annex that it's done with the PREPARE step: PREPARE-SUCCESS -Now git-annex will tell the special remote what to do. Let's suppose -it wants to store a key. +Now git-annex will make a request. Let's suppose it wants to store a key. TRANSFER STORE somekey tmpfile -The special remote can continue sending messages to git-annex during this -transfer. It will typically send progress messages, indicating how many +The special remote can then start reading the tmpfile and storing it. +While it's doing that, the special remote can send messages back to +git-annex to indicate what it's doing, or ask for other information. +It will typically send progress messages, indicating how many bytes have been sent: PROGRESS 10240 @@ -76,6 +77,8 @@ Once the key has been stored, the special remote tells git-annex the result: TRANSFER-SUCCESS STORE somekey +Now git-annex will send its next request. + Once git-annex is done with the special remote, it will close its stdin. The special remote program can then exit. @@ -107,8 +110,6 @@ The following requests *must* all be supported by the special 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. * `CHECKPRESENT Key` Requests the remote to check if a key is present in it. * `REMOVE Key` @@ -215,7 +216,7 @@ while it's handling a request. ## special remote messages These messages may be sent by the special remote at any time that it's -in control. +handling a request. * `VERSION Int` Supported protocol version. Current version is 1. Must be sent first |