Closed finnbear closed 2 years ago
Ah, nevermind. Should have realized that the actual acceptor runs later, in its own task: https://github.com/programatik29/axum-server/blob/04bbd9f90c6db1e36e970644b2a5ab3256434e77/src/server.rs#L193-L194
Closing this.
The way the accept loop is currently written, it seems as though accepting is done in serial
https://github.com/programatik29/axum-server/blob/04bbd9f90c6db1e36e970644b2a5ab3256434e77/src/server.rs#L173-L178
For HTTPS, it seems as though the SSL handshake is done in the acceptor:
https://github.com/programatik29/axum-server/blob/dfafcbdfec81497e8278eae2e12caa80d43ef2a0/src/tls_rustls/mod.rs#L69-L72
This implies that SSL handshakes cannot take place concurrently, which can cause unavailability if one user's SSL handshake is taking significant time.