quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.88k stars 395 forks source link

quicperf + quinn #1089

Open victorstewart opened 3 years ago

victorstewart commented 3 years ago

i was going to add Quinn to quicperf but alas there's no ffi :(

if you're open to providing one I'll write the quicperf implementation of quinn?

right now it's a simple byte transfer throughput test from server to client, but will be adding some more interesting tests like memory usage per n connections and others.

Ralith commented 3 years ago

What sort of API do you need? A complete C binding would be a large project.

victorstewart commented 3 years ago

off the top of my head...

1) a way to create a client engine and a server engine 2) initiate a connection to a server from a client 3) feed either engine packets that arrive 4) harvest packets ready to push over the network 5) read and write on a stream (write can double as a stream open) 6) get the next timeout at which the engine has work to do

oh and the ability to use ED25519 certificates and keys (but i see it in rusttls / ring / webpki so good on that front).