open todo for p2p protocol flag days
This commit is contained in:
parent
28589c92d2
commit
e36ceb7448
3 changed files with 30 additions and 10 deletions
|
@ -64,13 +64,6 @@ that is less than or equal to the version the client sent:
|
|||
|
||||
Now both client and server should use version 1.
|
||||
|
||||
(Note that old versions of git-annex, which speak the P2P protocol
|
||||
over tor, don't support this, and attempting to negotiate a version
|
||||
will cause the server to hang up the connection. To deal with this
|
||||
historical bug, the version is not currently negotiated when using the
|
||||
protocol over tor. At some point in the future, when all peers can be
|
||||
assumed to be upgraded, this will be changed.)
|
||||
|
||||
## Binary data
|
||||
|
||||
The protocol allows raw binary data to be sent. This is done
|
||||
|
|
|
@ -48,12 +48,12 @@ implementation todos:
|
|||
It would be nice to support that, but if it added an extra round trip
|
||||
to the P2P protocol, that could lose some of the speed gains.
|
||||
|
||||
My first attempt to implement this failed miserably due to a Free monad
|
||||
type check problem I could not see a way around.
|
||||
|
||||
* What happens when the assistant is running and some connections are open
|
||||
and it moves between networks?
|
||||
|
||||
* If it's unable to ssh to a host to run p2pstdio, it will fall back to the
|
||||
old method. What if the host is down, does this double the timeout?
|
||||
|
||||
----
|
||||
|
||||
Benchmarks
|
||||
|
|
27
doc/todo/p2p_protocol_flag_days.mdwn
Normal file
27
doc/todo/p2p_protocol_flag_days.mdwn
Normal file
|
@ -0,0 +1,27 @@
|
|||
Some things to do with the [[design/P2P_protocol]]
|
||||
are works in progress, needing a future flag day to complete.
|
||||
|
||||
## VERSION over tor
|
||||
|
||||
Old versions of git-annex, before 6.20180312, which speak the P2P protocol
|
||||
over tor, don't support VERSION, and attempting to negotiate a version
|
||||
will cause the server to hang up the connection. To deal with this
|
||||
historical bug, the version is not currently negotiated when using the
|
||||
protocol over tor. At some point in the future, when all peers can be
|
||||
assumed to be upgraded, this should be changed.
|
||||
|
||||
## git-annex-shell fallbacks
|
||||
|
||||
When using git-annex-shell p2pio, git-annex assumes that if it exits 1,
|
||||
it does not support that, and falls back to the old sendkey/rerecvkey,
|
||||
etc.
|
||||
|
||||
At some point in the future, once all git-annex and git-annex-shell
|
||||
can be assumed to be upgraded to 6.20180312, this fallback can be removed.
|
||||
It will allows removing a lot of code from git-annex-shell and a lot of
|
||||
fallback code from Remote.Git.
|
||||
|
||||
Removing the fallback code will also improve speed of dealing with remotes
|
||||
that are not reachable, since currently git-annex tries first to open a p2p
|
||||
connection, and then tries the fallback, so it has to wait for two
|
||||
TCP connection timeouts.
|
Loading…
Reference in a new issue