Lines Matching +full:poll +full:- +full:timeout +full:- +full:ms
1 .\" -*- mode: troff; coding: utf-8 -*-
57 .IX Title "OSSL-GUIDE-QUIC-SERVER-NON-BLOCK 7ossl"
58 .TH OSSL-GUIDE-QUIC-SERVER-NON-BLOCK 7ossl 2025-09-30 3.5.4 OpenSSL
64 ossl\-guide\-quic\-server\-non\-block
65 \&\- OpenSSL Guide: Writing a simple nonblocking QUIC server
69 simple, non-concurrent, QUIC "echo" server application which accepts one client
73 The server only accepts \f(CW\*(C`http/1.0\*(C'\fR and \f(CW\*(C`hq\-interop\*(C'\fR ALPN's and doe…
74 implement HTTP but only does a simple echo. This is non-standard and will not
77 There are various methods to test this server: \fBquic\-client\-block.c\fR and
78 \&\fBquic\-client\-non\-block.c\fR will send a basic HTTP/1.0 request, which the server
80 \&\f(CW\*(C`openssl s_client \-connect localhost:4443 \-4 \-quic \-alpn http/1.0\*(C'\fR and enteri…
91 \&\fBquic\-server\-non\-block.c\fR. It is also available online at
92 <https://github.com/openssl/openssl/blob/master/demos/guide/quic\-server\-non\-block.c>.
96 \&\fBossl\-guide\-libraries\-introduction\fR\|(7) and \fBossl\-guide\-quic\-introduction\fR\|(7));
110 \& * subsequent per\-client SSL connections. We specifically load a QUIC
119 certificates are often required, and both the server (end-entity or EE)
131 \& * not only the leaf (end\-entity) server certificate, but also any
132 \& * intermediate issuer\-CA certificates. The leaf certificate must be the
135 \& * In advanced use\-cases this can be called multiple times, once per public
147 \& * key matches the just loaded end\-entity certificate. It does not check
177 \& * Clients rarely employ certificate\-based authentication, and so we don\*(Aqt
183 \& * need to configure a trusted\-certificate store, so no call to
190 QUIC also dictates using Application-Layer Protocol Negotiation (ALPN) to select
200 In this case, we only accept "http/1.0" and "hq-interop".
204 \& * ALPN strings for TLS handshake. Only \*(Aqhttp/1.0\*(Aq and \*(Aqhq\-interop\*(Aq
209 \& 10, \*(Aqh\*(Aq, \*(Aqq\*(Aq, \*(Aq\-\*(Aq, \*(Aqi\*(Aq, \*(Aqn\*(Aq, \*(Aqt\*(Aq, \*(Aqe…
231 \& return \-1;
241 \& return \-1;
248 \& return \-1;
310 a more real-world application would likely use this time to perform other tasks.
335 \& * poll/epoll or similar functions
343 \& * a GUI every 100ms. One way to do that would be to use the timeout in
345 \& * than 100ms then use 100ms instead. Then, when select returns, you
347 \& * because of the timeout. If the 100ms GUI timeout has expired but the
348 \& * tvp timeout has not then go and update the GUI and then restart the
360 \& ret = SSL_read_ex(conn, buf + total_read, sizeof(buf) \- total_read,
436 \&\fBossl\-guide\-introduction\fR\|(7), \fBossl\-guide\-libraries\-introduction\fR\|(7),
437 \&\fBossl\-guide\-libssl\-introduction\fR\|(7), \fBossl\-guide\-quic\-introduction\fR\|(7),
438 \&\fBossl\-guide\-quic\-client\-non\-block\fR\|(7), \fBossl\-guide\-quic\-client\-block\fR\|(7),
439 \&\fBossl\-guide\-tls\-server\-block\fR\|(7), \fBossl\-guide\-quic\-server\-block\fR\|(7)
442 Copyright 2024\-2025 The OpenSSL Project Authors. All Rights Reserved.