Open nhorman opened 2 months ago
We need to implement more complex application which will also do non-blocking I/O on SSL stream object. It should be using SSL_poll() to test readiness of write/read operation. The application can be kind of proxy which will shovel data between TCP socket and QUIC stream, something like that.
We actually have that, for the client side at least. The demos/guide/quic-hq-interop.c client uses nonblocking I/O with SSL_poll on multiple stream objects to know when a given stream is readable. I've got a server for quic hq-interop started. It uses blocking I/O though. We also have quic-server-non-block.c, but it doesn't use SSL_poll, since it only writes very small amounts of data, that could be expanded though
I've asked the curl devs in https://github.com/openssl/openssl/discussions/23339#discussion-6094341 if SSL_poll is really what they need here
Item 2 here
Is requesting the following:
It seems what is needed here is a mechanism to only return fals from SSL_want_write in the case of a stream error or in the event that (I think) ossl_quic_txfc_get_credit_local returns a non-zero value.