add a test plan that measures the RTT of libp2p handshakes
@MarcoPolo is already working on this.
Since Feb 15, 2023.
- Dominant language
- Python
- Stars
- 65
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
The test plan will test that the libp2p handshake completes in the expected number of roundtrips. For example:
* the QUIC handshake should take 1 RTT
* the TCP handshake should take 4 RTTs (1. 3-way TCP handshake, 2. multistream negotiation of security protocol, 3. security handshake, 4. muxer negotiation)
* when using early muxer negotiation (https://github.com/libp2p/go-libp2p/issues/1789), the TCP handshake only takes 3 RTTs
This can easily extended to test that moving the security protocol into the multiaddr (https://github.com/libp2p/specs/pull/353) saves another RTT.
The test plan will need to build on the cross-version test (or maybe the cross-implementation test). This will allow us to assert that while new go-libp2p versions make use of all the performance improvements and handshaking takes fewer RTTs, we're still remain backwards-compatible.
In the long term, this test will probably replace the ping test plan, as it tests strictly more than the ping test.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.