finish P2P protocol proxying
CONNECT is not supported by git-annex-shell p2pstdio, but for proxying to tor-annex remotes, it will be supported, and will make a git pull/push to a proxied remote work the same with that as it does over ssh, eg it accesses the proxy's git repo not the proxied remote's git repo. The p2p protocol docs say that NOTIFYCHANGES is not always supported, and it looked annoying to implement it for this, and it also seems pretty useless, so make it be a protocol error. git-annex remotedaemon will already be getting change notifications from the proxy's git repo, so there's no need to get additional redundant change notifications for proxied remotes that would be for changes to the same git repo.
This commit is contained in:
parent
f98605bce7
commit
96853cd833
3 changed files with 8 additions and 5 deletions
|
@ -119,8 +119,11 @@ proxy proxydone servermode clientside remoteside othermessage protoerrhandler =
|
|||
-- not the remote.
|
||||
CONNECT service ->
|
||||
servermodechecker (checkCONNECTServerMode service) $
|
||||
giveup "TODO CONNECT"
|
||||
NOTIFYCHANGE -> giveup "TODO NOTIFYCHANGE"
|
||||
-- P2P protocol does not continue after
|
||||
-- relaying from git.
|
||||
protoerrhandler (\() -> proxydone) $
|
||||
client $ net $ relayService service
|
||||
NOTIFYCHANGE -> protoerr
|
||||
-- Messages that the client should only send after one of
|
||||
-- the messages above.
|
||||
SUCCESS -> protoerr
|
||||
|
|
|
@ -192,6 +192,8 @@ its exit code.
|
|||
|
||||
CONNECTDONE ExitCode
|
||||
|
||||
After that, the server closes the connection.
|
||||
|
||||
## Change notification
|
||||
|
||||
The client can request to be notified when a ref in
|
||||
|
|
|
@ -36,9 +36,7 @@ For June's work on [[design/passthrough_proxy]], implementation plan:
|
|||
|
||||
2. Remote instantiation for proxies. (done)
|
||||
|
||||
3. Implement git-annex-shell proxying for CONNECT and NOTIFYCHANGES.
|
||||
(For completeness, they will only be used when using tor-annex
|
||||
to access a proxy.)
|
||||
3. Implement git-annex-shell proxying to git remotes. (done)
|
||||
|
||||
3. Proxy should update location tracking information for proxied remotes,
|
||||
so it is available to other users who sync with it.
|
||||
|
|
Loading…
Reference in a new issue