From: Hugo Landau Date: Mon, 4 Sep 2023 13:55:08 +0000 (+0100) Subject: QUIC Polling Design Document: Add TOC X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25e019f8e928c4b0c1c8d9eb6e7a4252d667485e;p=thirdparty%2Fopenssl.git QUIC Polling Design Document: Add TOC Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/21795) --- diff --git a/doc/designs/quic-design/server/quic-polling.md b/doc/designs/quic-design/server/quic-polling.md index 880f8148d23..7cf1e04c82c 100644 --- a/doc/designs/quic-design/server/quic-polling.md +++ b/doc/designs/quic-design/server/quic-polling.md @@ -1,6 +1,40 @@ QUIC Polling API Design ======================= +- [QUIC Polling API Design](#quic-polling-api-design) + * [Background](#background) + * [Requirements](#requirements) + * [Reflections on Past Mistakes in Poller Interface Design](#reflections-on-past-mistakes-in-poller-interface-design) + * [Example Use Cases](#example-use-cases) + + [Use Case A: Simple Blocking or Non-Blocking Application](#use-case-a--simple-blocking-or-non-blocking-application) + + [Use Case B: Application-Controlled Hierarchical Polling](#use-case-b--application-controlled-hierarchical-polling) + * [Use of Poll Descriptors](#use-of-poll-descriptors) + * [Event Types and Representation](#event-types-and-representation) + * [Designs](#designs) + + [Sketch A: One-Shot/Immediate Mode API](#sketch-a--one-shot-immediate-mode-api) + + [Sketch B: Registered/Retained Mode API](#sketch-b--registered-retained-mode-api) + - [Use Case Examples](#use-case-examples) + * [Proposal](#proposal) + * [Custom Poller Methods](#custom-poller-methods) + + [Translation](#translation) + + [Custom Poller Methods API](#custom-poller-methods-api) + + [Internal Polling: Usage within SSL Objects](#internal-polling--usage-within-ssl-objects) + + [External Polling: Usage over SSL Objects](#external-polling--usage-over-ssl-objects) + + [Future Adaptation to Internal Pollable Resources](#future-adaptation-to-internal-pollable-resources) + * [Worked Examples](#worked-examples) + + [Internal Polling — Default Poll Method](#internal-polling---default-poll-method) + + [Internal Polling — Custom Poll Method](#internal-polling---custom-poll-method) + + [External Polling — Immediate Mode](#external-polling---immediate-mode) + + [External Polling — Retained Mode](#external-polling---retained-mode) + + [External Polling — Immediate Mode Without Event Handling](#external-polling---immediate-mode-without-event-handling) + * [Change Notification Callback Mechanism](#change-notification-callback-mechanism) + * [Q&A](#q-a) + * [Windows support](#windows-support) + * [Extra features on QUIC objects](#extra-features-on-quic-objects) + + [Low-watermark functionality](#low-watermark-functionality) + + [Timeouts](#timeouts) + + [Autotick control](#autotick-control) + Background ----------