Closed ElNiak closed 2 years ago
Thanks for your interest in verifying Quinn! Your code could be simplified/deduplicated a lot, but perhaps that doesn't matter for your use case. Two issues stand out:
std::thread::sleep
will interfere with the async infrastructure by blocking the entire thread. In general, you should use tokio::time::sleep
instead, but for the particular requirement of "wait for the first connection to wrap up" it would be better to use endpoint.wait_idle().await
as already illustrated during shutdown.quinn::ClientConfig::version
setter can be used to specify the desired QUIC version.The specifics of client-side employment of 0-RTT look correct to me, but of course the ultimate test is whether it actually works.
Closing as there don't seem to be any outstanding issues, but feel free to reach out here/in chat if you have further questions!
Hello everyone,
Sorry to open an issue for that but let me explain the situation. I'm currently performing formal specification testing on 0RTT of different QUIC implementations using Ivy (https://github.com/ElNiak/QUIC-FormalVerification) of QUIC draft 29 and the final RFC9000.
The problem is that 0RTT is not directly implemented in your
client.rs
example. Thus I added that by myself and now I need your confirmation that it was correctly done.Note that for my tests, I need to close a first connection that is used to get TLS session tickets and then reopen a second connection with 0RTT.
Here is the code I use for draft 29, quinn branch is:
0.7.0
Here is the code I use for last version of QUIC and quinn:
Note that I am not familiar at all with rust.
Thank you !! ElNiak