Skip to content

Commit df37fdb

Browse files
committed
Add libp2p-quic
1 parent 5d1c54c commit df37fdb

File tree

5 files changed

+491
-1
lines changed

5 files changed

+491
-1
lines changed

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ libp2p-kad = { path = "./protocols/kad" }
1919
libp2p-floodsub = { path = "./protocols/floodsub" }
2020
libp2p-peerstore = { path = "./stores/peerstore" }
2121
libp2p-ping = { path = "./protocols/ping" }
22+
libp2p-quic = { path = "./transports/quic" }
2223
libp2p-ratelimit = { path = "./transports/ratelimit" }
2324
libp2p-relay = { path = "./transports/relay" }
2425
libp2p-core = { path = "./core" }
@@ -68,6 +69,7 @@ members = [
6869
"transports/tcp",
6970
"transports/uds",
7071
"transports/websocket",
72+
"transports/quic",
7173
"transports/timeout",
7274
"transports/ratelimit",
7375
]

misc/multiaddr/src/protocol.rs

+11-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::{
77
convert::From,
88
fmt,
99
io::{Cursor, Write},
10-
net::{Ipv4Addr, Ipv6Addr},
10+
net::{IpAddr, Ipv4Addr, Ipv6Addr},
1111
str::{self, FromStr}
1212
};
1313
use unsigned_varint::{encode, decode};
@@ -383,6 +383,16 @@ impl<'a> fmt::Display for Protocol<'a> {
383383
}
384384
}
385385

386+
impl<'a> From<IpAddr> for Protocol<'a> {
387+
#[inline]
388+
fn from(addr: IpAddr) -> Self {
389+
match addr {
390+
IpAddr::V4(addr) => Protocol::Ip4(addr),
391+
IpAddr::V6(addr) => Protocol::Ip6(addr),
392+
}
393+
}
394+
}
395+
386396
impl<'a> From<Ipv4Addr> for Protocol<'a> {
387397
#[inline]
388398
fn from(addr: Ipv4Addr) -> Self {

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ pub extern crate libp2p_floodsub as floodsub;
147147
pub extern crate libp2p_mplex as mplex;
148148
pub extern crate libp2p_peerstore as peerstore;
149149
pub extern crate libp2p_ping as ping;
150+
pub extern crate libp2p_quic as quic;
150151
pub extern crate libp2p_ratelimit as ratelimit;
151152
pub extern crate libp2p_relay as relay;
152153
pub extern crate libp2p_secio as secio;

transports/quic/Cargo.toml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[package]
2+
name = "libp2p-quic"
3+
version = "0.1.0"
4+
authors = ["Parity Technologies <[email protected]>"]
5+
license = "MIT"
6+
edition = "2018"
7+
8+
[dependencies]
9+
bytes = "0.4.9"
10+
libp2p-core = { path = "../../core" }
11+
log = "0.4.1"
12+
fnv = "1.0"
13+
futures = "0.1"
14+
multiaddr = { path = "../../misc/multiaddr" }
15+
openssl = "^0.10.6"
16+
parking_lot = "0.5"
17+
picoquic = { git = "https://github.com/bkchr/picoquic-rs", rev = "b27be6e9597ec9478c64722c9848522540bc8a38" }
18+
tokio-core = "0.1" # TODO: remove once picoquic no longer needs it
19+
tokio-io = "0.1"

0 commit comments

Comments
 (0)