Comments (8)
Ah, apparently this is already fixed, I just needed to be on the new version!
from aioquic.
Ah, no, it's not fixed, I just mistakenly did (echo && sleep 1 && echo) | h3_request
in a context where h3_request took more than a second to start up so there ended up being no async delay.
from aioquic.
I suggest you take a closer look at the http3_client.py
example from which your code seems derived. The issue here has nothing to do with sleeping, your client is not sending its HTTP request and eventually times out.
You're missing the call to self.transmit()
to actually send the bytes out to the network:
aioquic/examples/http3_client.py
Line 240 in 20cd4ee
See:
from aioquic.
In that case isn't there just the opposite bug - if you remove the short sleep it does send the request and get the response even though self.transmit
is not called?
from aioquic.
In that case isn't there just the opposite bug - if you remove the short sleep it does send the request and get the response even though
self.transmit
is not called?
The behaviour is just not defined if you don't call transmit() yourself after queuing data: transmit() can be triggered by receiving data from the server or a timer going off.
from aioquic.
Thanks for the explanation, and sorry for the incorrect noise!
from aioquic.
It's not noise, the feedback is welcome. It made me realise that even though the quic
(sans IO) layer is reasonably explicit about how it should be used, the asyncio
layer is not, much less the interaction with the h3
layer. I think I'll open an issue on this. Would you mind reviewing a proposal for additional docs?
from aioquic.
Cool, improved docs are always good. I would suggest that documenting it in transmit
might not be the most helpful though - a mention in each of sendData
, sendHeaders
etc. would be more discoverable. (The problem for me was that I didn't even know the transmit
function existed.)
from aioquic.
Related Issues (20)
- aioquic 0.9.22 dosent have your latest code changes and commits HOT 1
- HTTP/3 Datagram terminology is out of sync with RFC9297 HOT 7
- HTTP3 upload too slow HOT 2
- pip install -e . error HOT 1
- FINs are swallowed if data is fully ACKed
- How to use QUIC in video streaming?
- Do not leave stray file after test_packet.py is run HOT 1
- Improve `asyncio` layer docs regarding `transmit()`
- `QuicStreamAdapter` should implement more methods of `BaseTransport` HOT 2
- What's the expected behavior if the server restarts and receives living client's frame? HOT 1
- only support IPv6 socket? HOT 1
- Which versions are supported by aioquic?
- HTTP/3 headers need further validation HOT 1
- Idle timeout should be a small value between local idle timeout and remote max idle timeout from transport parameters HOT 1
- Providing callable to create_protocol results in AttributeError HOT 2
- server unable to decrpt ACK packet
- Add HTTP/2 Alt-Svc feature to HTTP3 Server/Client examples HOT 6
- Specifying cafile loads the CA file in addition to certifi and not instead of certifi HOT 4
- Support SO_REUSEPORT HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aioquic.