Lines Matching full:application
9 …e Case A: Simple Blocking or Non-Blocking Application](#use-case-a--simple-blocking-or-non-blockin…
10 …+ [Use Case B: Application-Controlled Hierarchical Polling](#use-case-b--application-controlled-hi…
41 An application can create multiple QLSOs (see the [server API design
43 pair. Therefore an application needs to be able to poll:
57 - There are a large number of event types an application might want to poll on.
67 able for an application to request wakeup on the first of an arbitrary subset
76 - **Support external polling.** An application must be able to be in control
78 or poll(2)-style calls; the application handles all poll(2)-like calls to the
79 OS. The application must thereafter be able to find out from us what QUIC
147 ### Use Case A: Simple Blocking or Non-Blocking Application
149 An application has two QCSOs open each with one QSSO. The QCSOs and QSSOs might
161 ### Use Case B: Application-Controlled Hierarchical Polling
163 An application has two QCSOs open each with one QSSO, all in non-blocking mode.
166 wants to block until various other application-specific non-QUIC events occur.
171 - An application collects file descriptors and event flags to poll from our QUIC
177 - An application does its own polling and timeout handling.
179 - An application calls `SSL_handle_events` if the polling process indicated
184 - An application calls `SSL_poll` similarly to the above example, but with
189 This demonstrates the principle of hierarchical polling, whereby an application
196 - An application must be able to use our polling interface without blocking and
207 This concept maps directly to our capacity for application-level polling of the
237 - **R (Readable):** There is application data available to be read.
239 - **W (Writable):** It is currently possible to write more application data.
284 ensure an application can avoid wakeups it doesn't want.
287 if requested by the application and never raised, similar to `poll(2)`.
391 A. An application which is not immediately concerned by the failure of an
409 application, thus there is no valid need for an application to poll on it.
429 **Q. Does it make sense for an application to be able to mask this?**
434 **Q. Does it make sense for an application to be able to listen for this but not
437 A. Yes, since `EL` implies `EC`, it is valid for an application to handle
443 Application data or FIN is available for popping via `SSL_read`. Never raised
453 A. If there is still application data that can be read, yes. Otherwise, no.
475 that FIN has been retired by the application by calling `SSL_read()`?**
484 possible that a connection could fail and some application data is still
485 buffered to be read by the application, so `EC` does not imply `!R`.
503 A. If an application receives an `R` event, this means more application data is
505 application does not feel obliged to handle urgently; therefore, it might mask
509 application immediately even if the application would not care about more
510 ordinary application data arriving on a stream for now.
513 be unable to prevent spurious wakeups due to normal application data when they
518 A. This would enable an application to listen for more application data but not
525 retired by the application, then `ER` is raised and `R` is never again raised.
528 application?**
531 and has no `RESET_STREAM` transition. Moreover, after an application is done
536 for a stream which was concluded normally but where the application has *not*
542 application data via `SSL_write`.
598 A. There is no need for this since the application knows what it did, though
604 A. If the local application has reset a stream locally, it knows about this fact
609 A. Probably not, since shutdown is under local application control and so if an
610 application does this it already knows about it. Therefore there is no reason to
615 A. It is useful for an application to be able to determine if something odd has
618 `W`). Since stream resets can occur asynchronously and have application
619 protocol-defined semantics, it is important an application can be notified of
624 A. This would enable an application to listen for the opportunity to write but
651 A. Yes. The application may be able to accept the stream and pop any application
652 data which was already received in future. It is the application's choice to
690 A. Potentially. A connection could have already been able to receive application
691 data prior to it being popped from the accept queue by the application calling
692 `SSL_accept_connection()`. Whether or not application data was received on any
694 application knows it happened.
786 * and it is the application's responsibility to request them.
958 /* An opaque application value passed through in any reported event. */
1266 * Assume application already did I/O event handling and do not tick again.
1319 /* Application event loop */
1325 process_event(&events[i]); /* do something in application */
1356 application. This allows an application to support custom poll descriptor types
1357 and provide a way to poll on those poll descriptors. For example, an application
1360 opaque poll descriptor handle provided by the application (which might be e.g.
1390 also be a custom method provided by an application if one of the SSL objects
1417 - External polling support: This is where an application calls a polling API.
1493 Here is how an application might define and create a `SSL_POLL_METHOD` instance
1613 An application can also use an `SSL_POLL_METHOD` itself, whether via the
1619 of implementation-specific polling data. For example, suppose an application
1644 a change on this level would probably require some sort of application
1657 - Application creates a new QCSO
1658 - Application does not set a custom poll method on it
1659 - Application uses it in blocking mode and sets network BIOs
1669 - Application instantiates a custom poll method
1670 - Application creates a new QCSO
1671 - Application sets the custom poll method on the QCSO
1672 - Application configures the QCSO for blocking mode and sets network BIOs
1682 - Application gets a poll method (default or custom)
1683 - Application invokes poll() on the poll method on some number of QLSOs, QCSOs, QSSOs
1697 - Application gets a poll method (default or custom)
1698 - Application uses the poll method to create a poll group
1699 - Application registers some number of QLSOs, QCSOs, QSSOs and OS sockets, etc.
1704 - Application polls using the poll group.
1712 - Application gets a poll method (default or custom)
1713 - Application invokes poll() on the poll method on some number of QLSOs, QCSOs,
1807 A. We assume an application uses its own polling arrangements initially and then
1810 no issue here. An application can also use OpenSSL polling APIs instead of its
1824 A. Using an extensible function table. An application can set a function
1828 **Q. If an application sets a poll method on both an event leader and a poll
1844 (QUIC domains) and an application then tries to poll them all?**
1856 A. It uses the default poll method. If an application wishes to use a different
1859 **Q. An application creates a poll group, registers an SSL object and later
1865 - An application is not allowed to have the poll descriptors returned by a BIO
1883 **Q. An application creates a poll group, registers a QCSO and some subsidiary
1898 **Q. An application creates a poll group, registers a (non-QUIC-related) OS
1903 application deregisters the handle from the poll group first.
1988 Sometimes an application knows it does not need to do anything until at least N
2017 example, an application might want to perform a blocking read from a peer but
2089 application chooses to use the timeout functionality.