Release 2.23.2

- Add QPACK stats collection and experimentation mode, see the new
  es_qpack_experiment setting.
- Log busy connection stats every second using the new "conn-stats"
  log module.
- Log about skipping only once.
- Update HTTP/3 greased frame type formula.
- Use ls-qpack v2.2.1.
This commit is contained in:
Dmitri Tikhonov 2020-10-21 09:05:26 -04:00
parent 6a6683860a
commit 758aff32b9
30 changed files with 800 additions and 33 deletions

View file

@ -849,6 +849,20 @@ settings structure:
Default value is :macro:`LSQUIC_DF_EXT_HTTP_PRIO`
.. member:: int es_qpack_experiment
If set to 1, QPACK statistics are logged per connection.
If set to 2, QPACK experiments are run. In this mode, encoder
and decoder setting values are randomly selected (from the range
[0, whatever is specified in es_qpack_(enc|dec)_*]) and these
values along with compression ratio and user agent are logged at
NOTICE level when connection is destroyed. The purpose of these
experiments is to use compression performance statistics to figure
out a good set of default values.
Default value is :macro:`LSQUIC_DF_QPACK_EXPERIMENT`
To initialize the settings structure to library defaults, use the following
convenience function:
@ -1077,6 +1091,10 @@ out of date. Please check your :file:`lsquic.h` for actual values.*
Turn on Extensible HTTP Priorities by default.
.. macro:: LSQUIC_DF_QPACK_EXPERIMENT
By default, QPACK experiments are turned off.
Receiving Packets
-----------------

View file

@ -26,7 +26,7 @@ author = u'LiteSpeed Technologies'
# The short X.Y version
version = u'2.23'
# The full version, including alpha/beta/rc tags
release = u'2.23.1'
release = u'2.23.2'
# -- General configuration ---------------------------------------------------

View file

@ -26,3 +26,22 @@ server connections. It will be just work. For example, the single
engine settings :type:`lsquic_engine_settings` will have to be separated
into client and server settings, as the two usually do need to have
separate settings.
Example Programs
================
*http_client does not work with www.google.com, www.facebook.com, etc.*
Check the version. By defaut, ``http_client`` will use the latest supported
version (at the time of this writing, "h3-31"), while the server may be using
an older version, such as "h3-29". Adding ``-o version=h3-29`` to the
command line may well solve your issue.
There is an `outstanding bug`_ where lsquic client does not perform version
negotiation correctly for HTTP/3. We do not expect this to be fixed, because
a) this version negotiation mechanism is likely to become defunct when QUIC v1
is released and b) version negotiation is not necessary for an HTTP/3 client,
because the other side's version is communicated to it via the ``Alt-Svc`` HTTP
header.
.. _`outstanding bug`: https://github.com/litespeedtech/lsquic/issues/180