]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC Polling Design Document: Add TOC
authorHugo Landau <hlandau@openssl.org>
Mon, 4 Sep 2023 13:55:08 +0000 (14:55 +0100)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 11 Sep 2024 07:32:28 +0000 (17:32 +1000)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21795)

doc/designs/quic-design/server/quic-polling.md

index 880f8148d2340506c8c03c4a2edea9700f6188d8..7cf1e04c82ccc7ffbc8ccb729c65eceeec349d27 100644 (file)
@@ -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
 ----------