libp2p / cpp-libp2p

C++17 implementation of libp2p
Apache License 2.0
346 stars 97 forks source link

QUIC Transport #227

Open amdfxlucas opened 7 months ago

amdfxlucas commented 7 months ago

implement QUIC transport with nexus-lsquic library based on boost::asio (https://github.com/cbodley/nexus) ( my fork https://github.com/amdfxlucas/nexus.git 'dev' branch)

QuicConnections are inherently CapableConnections and thus need no Upgrader and Muxer.

Todo: deferRead/Write Callbacks for QuicStreams ?! dont know what they're good for

Integration of nexus, lsquic, boringSSl into Hunter dependency management. Unfortunately i'm not very adept with it.

To run the 01-echo example with Quic transport: ./libp2p_echo_server -l3proto=ip4 -l4proto=quic ./libp2p_echo_client /ip4/127.0.0.1/quic/40010/p2p/12D3KooWEgUjBV5FJAuBSoNMRYFRHjV7PjZwRQ7b43EKX9g7D6xV