Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QUIC transport #563

Closed
wants to merge 13 commits into from
Closed

QUIC transport #563

wants to merge 13 commits into from

Conversation

markspanbroek
Copy link
Contributor

@markspanbroek markspanbroek commented Apr 13, 2021

Work in progress. Adds support for QUIC as a base transport for libp2p connections. Based on the nim-quic library.

@codecov
Copy link

codecov bot commented May 25, 2021

Codecov Report

❗ No coverage uploaded for pull request base (unstable@5419784). Click here to learn what that means.
The diff coverage is 75.00%.

❗ Current head 1294f0a differs from pull request most recent head bed2827. Consider uploading reports for the commit bed2827 to get more accurate results
Impacted file tree graph

@@             Coverage Diff             @@
##             unstable     #563   +/-   ##
===========================================
  Coverage            ?   81.56%           
===========================================
  Files               ?       59           
  Lines               ?    11337           
  Branches            ?        0           
===========================================
  Hits                ?     9247           
  Misses              ?     2090           
  Partials            ?        0           
Impacted Files Coverage Δ
libp2p/wire.nim 61.29% <0.00%> (ø)
libp2p/transports/quictransport.nim 70.00% <85.71%> (ø)

@markspanbroek markspanbroek force-pushed the quic-transport branch 2 times, most recently from c59c85c to def2c21 Compare June 23, 2021 07:59
@Menduist Menduist changed the base branch from unstable to transport-session June 24, 2021 09:29
@Menduist
Copy link
Contributor

Just changed to base branch to transport-session, should update automatically when we merge 565, and easier to review here

# Conflicts:
#	libp2p/wire.nim
#	tests/testnative.nim
This error was raised when running nativetests.
More info: nim-lang/Nim#8500
- accept upgrade manager in constructor
- check that transport is running before calling stop
- write empty message to ensure that quic stream is opened
QUIC support is currently unsafe and should only
be used for testing.
In Windows, closing of QUIC connections often
takes about 10 seconds.
@Menduist
Copy link
Contributor

Menduist commented Jun 1, 2022

Closed in favor of #725

@Menduist Menduist closed this Jun 1, 2022
github-merge-queue bot pushed a commit that referenced this pull request Sep 12, 2024
…y) (#725)

Our quic effort is blocked by bearssl not supporting TLS1.3, but since
Mark did most of the work to implement Quic here:
#563 and on nim-quic, this
PR is going to bring encryption-less Quic into nim-libp2p
This allows us to test it, and make sure it doesn't bitrot.

Heavily WiP:
- [X] Extract code from #563
- [X] Create custom muxer & upgrader
- [X] Basic E2E switch test working
- [x] Update nim-quic to get address informations in libp2p (for
`observed address` and port 0 resolving)
- [ ] More tests
- [ ] Cleanup

Since encryption is not yet supported, we're not compatible with any
other libp2ps, and have to rely on home made protocols to retrieve the
peer's id

---------

Co-authored-by: markspanbroek <mark@spanbroek.net>
Co-authored-by: Diego <diego@status.im>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants