Lines Matching full:polling
1 QUIC Polling API Design
4 - [QUIC Polling API Design](#quic-polling-api-design)
10 …Case B: Application-Controlled Hierarchical Polling](#use-case-b--application-controlled-hierarchi…
21 + [Internal Polling: Usage within SSL Objects](#internal-polling--usage-within-ssl-objects)
22 + [External Polling: Usage over SSL Objects](#external-polling--usage-over-ssl-objects)
25 + [Internal Polling — Default Poll Method](#internal-polling---default-poll-method)
26 + [Internal Polling — Custom Poll Method](#internal-polling---custom-poll-method)
27 + [External Polling — Immediate Mode](#external-polling---immediate-mode)
28 + [External Polling — Retained Mode](#external-polling---retained-mode)
29 …+ [External Polling — Immediate Mode Without Event Handling](#external-polling---immediate-mode-wi…
64 - The nature of a polling interface means that it must be possible to
65 poll (i.e., block) on all desired objects in a single call. i.e., polling
68 of any of the above kinds of events in a single polling call.
76 - **Support external polling.** An application must be able to be in control
77 of its own polling if desired. This means no libssl code does any blocking I/O
82 - **Support internal polling.** Support a blocking poll(2)-like call provided
83 by libssl for applications that want us to arrange OS polling.
94 - Avoid needless impedance discontinuities with COTS polling interfaces (e.g.
136 are polling for such an event, only one of these threads should be woken up.
161 ### Use Case B: Application-Controlled Hierarchical Polling
167 As such, it wants to handle its own polling.
169 This usage pattern is supported via hierarchical polling:
177 - An application does its own polling and timeout handling.
179 - An application calls `SSL_handle_events` if the polling process indicated
189 This demonstrates the principle of hierarchical polling, whereby an application
190 can do its own polling and then use a poller in a mode where it always returns
196 - An application must be able to use our polling interface without blocking and
197 without having `SSL_handle_events` or OS polling APIs be called, if desired.
207 This concept maps directly to our capacity for application-level polling of the
209 consistent interface around polling.
762 Polling implementations are only permitted to modify the `revents` field in a
777 * specified in the events field, or a timeout or failure of the polling
841 * polled (such as a connection being terminated) and an failure in the polling
843 * the polling mechanism itself and does not call SSL_poll to return 0. If
844 * the polling mechanism itself fails (for example, because an unsupported
875 no real opportunity to maintain internal state which would make polling
904 of adding/removing/changing registered events and actually polling. This is
1018 * changes are processed but no polling is performed. This is useful if it is
1255 * as part of a hierarchical polling strategy.
1358 could provide a BIO_dgram_pair (which ordinarily cannot support polling and
1372 before polling can occur.
1402 The above scheme also means that the retained-mode polling API can be more
1408 There are two kinds of polling that occur:
1410 - Internal polling for blocking API: This is where an SSL object automatically
1417 - External polling support: This is where an application calls a polling API.
1568 ### Internal Polling: Usage within SSL Objects
1570 To support custom pollers for internal polling, SSL objects receive an API that
1609 similar to our own reactor polling in QUIC MVP.
1611 ### External Polling: Usage over SSL Objects
1619 of implementation-specific polling data. For example, suppose an application
1655 ### Internal Polling — Default Poll Method
1667 ### Internal Polling — Custom Poll Method
1678 by the network BIOs provided (internal polling)
1680 ### External Polling — Immediate Mode
1692 polling (blocking API calls) only. Thus they have no effect on the above
1695 ### External Polling — Retained Mode
1702 an OS device for fast polling (e.g. epoll) and register these resources
1710 ### External Polling — Immediate Mode Without Event Handling
1805 **Q. How does this design interact with hierarchical polling?**
1807 A. We assume an application uses its own polling arrangements initially and then
1808 uses calls to an OpenSSL external polling API (such as `SSL_poll` or a poll
1810 no issue here. An application can also use OpenSSL polling APIs instead of its
1837 Setting a poll method on a poll group provides a mechanism used for polling
1840 even when polling that SSL object. Translation is driven by
1848 handles all polling when it is specifically invoked.
1914 Windows customarily poses a number of issues for supporting polling APIs. This
1918 performance polling are largely confined to using I/O completion ports.
1984 the polling design.
1992 Rather than making polling interfaces more convoluted by adding fields to
1993 polling-related structures, we propose to add a knob which can be configured on