diff options
author | Hugo Landau <hlandau@openssl.org> | 2022-11-28 13:18:53 +0000 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2023-04-26 15:59:37 +0100 |
commit | dda864793e2de00159f268d910b95e98f21525ae (patch) | |
tree | bcb60a4124b81bb685de20cd7ba924654d8e88f2 /doc/designs/quic-design | |
parent | aed7082419465d1c74a0b96cbdc9ae938deaff06 (diff) | |
download | openssl-dda864793e2de00159f268d910b95e98f21525ae.tar.gz |
QUIC I/O Architecture Design: Add block diagram, tweak wording
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19770)
Diffstat (limited to 'doc/designs/quic-design')
-rw-r--r-- | doc/designs/quic-design/images/quic-io-arch-1.png | bin | 0 -> 11113 bytes | |||
-rw-r--r-- | doc/designs/quic-design/quic-io-arch.md | 10 |
2 files changed, 6 insertions, 4 deletions
diff --git a/doc/designs/quic-design/images/quic-io-arch-1.png b/doc/designs/quic-design/images/quic-io-arch-1.png Binary files differnew file mode 100644 index 0000000000..3c6ccba27f --- /dev/null +++ b/doc/designs/quic-design/images/quic-io-arch-1.png diff --git a/doc/designs/quic-design/quic-io-arch.md b/doc/designs/quic-design/quic-io-arch.md index 09115e65a2..403e3a11e0 100644 --- a/doc/designs/quic-design/quic-io-arch.md +++ b/doc/designs/quic-design/quic-io-arch.md @@ -104,10 +104,10 @@ parallel threads. Under this model, there would be three threads: This has a large number of disadvantages: - There is a hard requirement for threading functionality in order to be - able to support blocking semantics at the application level. Use of blocking - semantics at the application level will have a hard requirement on use of the - thread assisted mode. In environments where threading support is not available - or desired, our APIs will only be usable in a non-blocking fashion. + able to support blocking semantics at the application level. Applications + which require blocking semantics would only be able to function in thread + assisted mode. In environments where threading support is not available or + desired, our APIs would only be usable in a non-blocking fashion. - Several threads are spawned which the application is not in control of. This undermines our general approach of providing the application with control @@ -282,6 +282,8 @@ non-blocking I/O internally. Applications can use blocking or non-blocking I/O at the libssl API level. Network-level BIOs must operate in a non-blocking mode or be configurable by QUIC to this end. +![Block Diagram](images/quic-io-arch-1.png "Block Diagram") + ### Support of arbitrary BIOs We need to support not just socket FDs but arbitrary BIOs as the basis for the |