QUIC Dispatch: Introduce the QUIC_XSO object
authorHugo Landau <hlandau@openssl.org>
Tue, 18 Apr 2023 18:30:53 +0000 (19:30 +0100)
committerHugo Landau <hlandau@openssl.org>
Fri, 12 May 2023 13:46:03 +0000 (14:46 +0100)
commitf8636c7e85229bf780da7cf61c234695952f8cad
tree3b4804ddf353847a127f7e3fea2b78af37dc469b
parente88cdb8eb7b719803aaaef853db16abf3a4e73d1
QUIC Dispatch: Introduce the QUIC_XSO object

The QUIC_XSO (external stream object) is to a QUIC stream what a
QUIC_CONNECTION is to a QUIC connection. Both are SSL objects. The
QUIC_CONNECTION type is the internal representation of a QUIC connection
SSL object (QCSO) and the QUIC_XSO type is the internal representation
of a QUIC stream SSL object (QSSO) type. The name QUIC_XSO has been
chosen to be distinct from the existing QUIC_STREAM type which is our
existing internal stream type. QUIC_XSO is to a QUIC_STREAM what
QUIC_CONNECTION is to a QUIC_CHANNEL; in other words, QUIC_CONNECTION
and QUIC_XSO objects form part of the API personality layer, whereas
QUIC_CHANNEL and QUIC_STREAM objects form part of the QUIC core and are
distinct from the API personality layer.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)
include/internal/quic_ssl.h
ssl/quic/quic_local.h
ssl/ssl_lib.c
ssl/ssl_local.h