Lines Matching refs:to

4 The [QUIC Demo-Driven Design process](README.md) was undertaken to meet the OMC
5 requirement to develop a QUIC API that required only minimal changes to existing
6 applications to be able to adapt their code to use QUIC. The demo-driven design
12 diffs were the expected changes which would be needed to the baseline demos to
13 support QUIC based on theoretical analysis of the minimum requirements to be
14 able to support QUIC. This analysis concluded that the changes needed to
16 diff sizes to the baseline demos.
27 with `#ifdef USE_QUIC`. Viewing these files therefore is informative to
30 separate, clearly-labelled commits; to view the originally planned changes only,
36 This demo exists to demonstrate the simplest possible usage of OpenSSL, whether
41 The originally planned change to enable applications for QUIC amounted to just a
51 The following additional changes needed to be made:
53 - `QUIC_client_method` was renamed to `OSSL_QUIC_client_method` for namespacing
56 - A call to `SSL_set_alpn_protos` to configure ALPN was added. This is necessary
63 This demo exists to demonstrate simple non-blocking usage. As with
71 The originally planned changes to enable applications for QUIC amounted to:
77 - Use of a `BIO_get_poll_fd` function to get the FD to poll rather than
80 - A change to how the `POLLIN`/`POLLOUT`/`POLLERR` flags to pass to poll(2)
81 need to be determined.
83 - Additional functions in application code to determine event handling
84 timeouts related to QUIC (`get_conn_pump_timeout`) and to pump
96 The following additional changes needed to be made:
102 - The strategy for how to expose pollable OS resource handles
103 to applications to determine I/O readiness has changed substantially since the
105 and `BIO_get_wpoll_descriptor` to determine I/O readiness, rather than the
108 - The strategy for how to determine when to poll for `POLLIN`, when to
113 - The API to expose the event handling deadline for the QUIC engine
118 - The API to perform QUIC event processing has been renamed to be
122 The following changes were foreseen to be necessary, but turned out to actually
125 - The need to change code which pushes a `BIO_f_buffer()` after an SSL BIO
127 QUIC. This turned out not to be necessary since we can just reject the
130 still desirable for applications to remove this code.
137 internal assist thread is used to perform QUIC event handling, enables an
138 application to make fewer changes than are needed in the ddd-02-conn-nonblocking
143 The originally planned changes to enable applications for QUIC amounted to:
148 - Use of a `BIO_get_poll_fd` function to get the FD to poll rather than
151 - A change to how the `POLLIN`/`POLLOUT`/`POLLERR` flags to pass to poll(2)
152 need to be determined.
159 The following additional changes needed to be made:
161 - Change of method name (`QUIC_client_thread_method` was renamed to
175 This demo is similar to ddd-01-conn-blocking but uses a file descriptor passed
182 - The arguments to the `socket(2)` call are changed from `(AF_INET, SOCK_STREAM,
183 IPPROTO_TCP)` to `(AF_INET, SOCK_DGRAM, IPPROTO_UDP)`.
187 The following additional changes needed to be made:
196 This demo is similar to ddd-01-conn-nonblocking but uses a file descriptor
203 - The arguments to the `socket(2)` call are changed from `(AF_INET, SOCK_STREAM,
204 IPPROTO_TCP)` to `(AF_INET, SOCK_DGRAM, IPPROTO_UDP)`;
206 - A change to how the `POLLIN`/`POLLOUT`/`POLLERR` flags to pass to poll(2)
207 need to be determined.
209 - Additional functions in application code to determine event handling
210 timeouts related to QUIC (`get_conn_pump_timeout`) and to pump
219 The following additional changes needed to be made:
228 - `SSL_pump` renamed to `SSL_handle_events` (as for ddd-02-conn-nonblocking);
230 - The strategy for how to determine when to poll for `POLLIN`, when to
241 since datagram semantics on the network channel need to be maintained.
247 - Call to `BIO_new_bio_pair` is changed to `BIO_new_dgram_pair`, which
250 - A change to how the `POLLIN`/`POLLOUT`/`POLLERR` flags to pass to poll(2)
251 need to be determined.
253 - Potential changes to buffer sizes used by applications to buffer
256 - The arguments to the `socket(2)` call are changed from `(AF_INET, SOCK_STREAM,
257 IPPROTO_TCP)` to `(AF_INET, SOCK_DGRAM, IPPROTO_UDP)`;
261 The following additional changes needed to be made:
267 - The API to construct a `BIO_s_dgram_pair` ended up being named
277 I/O reactor, namely libuv (the engine used by Node.js). In doing so it seeks to
280 buffers on either side of the QUIC stack to feed data to and from the
287 - Various changes to use of libuv needed to switch to using UDP;
289 - Additional use of libuv to configure a timer event;
291 - Call to `BIO_new_bio_pair` is changed to `BIO_new_dgram_pair`
298 The following additional changes needed to be made:
304 - `BIO_new_dgram_pair` renamed to `BIO_new_bio_dgram_pair` (as for
310 - `SSL_pump` renamed to `SSL_handle_events` (as for ddd-02-conn-nonblocking);
312 - Fixes to use of libuv based on a corrected understanding
320 top of those originally planned which were required to successfully execute the
327 requirements dictate, an enormous set of changes to an application could be
328 considered “minimal”. The changes required to representative applications, as
339 design process, which sought to validate our API design and API ease of use for
340 existing applications seeking to adopt QUIC.