PUT to proxied special remote working
Still needs some work. The reason that the waitv is necessary is because without it, runNet loops back around and reads the next protocol message. But it's not finished reading the whole bytestring yet, and so it reads some part of it.
This commit is contained in:
parent
2e5af38f86
commit
711a5166e2
4 changed files with 92 additions and 18 deletions
|
@ -149,7 +149,7 @@ spaces, since it's not the last token in the line. Use '%' to indicate
|
|||
whitespace.)
|
||||
|
||||
The server may respond with ALREADY-HAVE if it already
|
||||
had the conent of that key.
|
||||
had the content of that key.
|
||||
|
||||
In protocol version 2, the server can optionally reply with
|
||||
ALREADY-HAVE-PLUS. The subsequent list of UUIDs are additional
|
||||
|
|
|
@ -29,14 +29,26 @@ For June's work on [[design/passthrough_proxy]], remaining todos:
|
|||
object files around when the client does not send SUCCESS. This would
|
||||
use more disk, but without streaming, proxying a special remote already
|
||||
needs some disk. And it could minimize to eg, the last 2 or so.
|
||||
The design doc has some more thoughts about this.
|
||||
|
||||
* If GET from a proxied special remote sends an ERROR with a message
|
||||
from the special remote, currently the user sees "protocol error".
|
||||
|
||||
* Implement PUT to proxied special remotes.
|
||||
* convert Remote.storeKey to take the path of the object file to send.
|
||||
It's too ugly that PUT to a proxied special remote currently has to
|
||||
temporarily populate the proxy's annex object file. There are too many
|
||||
ways that could lead to surprising behavior, like an interrupted PUT
|
||||
leaving it populated, or simulantaneous PUTs.
|
||||
|
||||
* PUT to a proxied special remote, in the case where the proxy contains
|
||||
the key, and the special remote is not accessible, sends back ERROR
|
||||
rather than PUT-FROM or ALREADY-HAVE. Verify that the client processes
|
||||
that ok and displays it to the user.
|
||||
|
||||
* Streaming download from proxied special remotes. See design.
|
||||
|
||||
* Check annex.diskreserve when proxying for special remotes.
|
||||
|
||||
# items deferred until later for [[design/passthrough_proxy]]
|
||||
|
||||
* Indirect uploads when proxying for special remote
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue