mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
Release 2.13.0
- [API] Use lsxpack_header structure to process incoming headers. - [BUGFIX] Fix assertion when zero-padding Initial packet. - [BUGFIX] Use idle timeout before we learn of peer's value. - Use ls-hpack 2.0.0 -- has lsxpack_header changes. - Use ls-qpack 0.14.0 -- new, common with ls-hpack, XXH seed (not used yet). - Code cleanup: prefix exported functions with "lsquic_".
This commit is contained in:
parent
5289ebd2fd
commit
a5fa05f958
77 changed files with 1168 additions and 73475 deletions
104
docs/apiref.rst
104
docs/apiref.rst
|
@ -1418,45 +1418,34 @@ fields yourself. In that case, the header set must be "read" from the stream vi
|
|||
stream by calling :func:`lsquic_stream_get_hset()` before the stream can
|
||||
be read.
|
||||
|
||||
.. member:: enum lsquic_header_status (*hsi_process_header)(void *hdr_set, unsigned name_idx, const char *name, unsigned name_len, const char *value, unsigned value_len)
|
||||
.. member:: struct lsxpack_header * (*hsi_prepare_decode)(void *hdr_set, struct lsxpack_header *hdr, size_t space)
|
||||
|
||||
Return a header set prepared for decoding. If ``hdr`` is NULL, this
|
||||
means return a new structure with at least `space' bytes available
|
||||
in the decoder buffer. If `hdr' is not NULL, it means there was not
|
||||
enough decoder buffer and it must be increased by ``space`` bytes.
|
||||
|
||||
If NULL is returned the header set is discarded.
|
||||
|
||||
.. member:: int (*hsi_process_header)(void *hdr_set, struct lsxpack_header *hdr)
|
||||
|
||||
Process new header.
|
||||
|
||||
:param hdr_set:
|
||||
|
||||
Header set to add the new header field to. This is the object
|
||||
returned by ``hsi_create_header_set()``.
|
||||
|
||||
:param name_idx:
|
||||
:param hdr:
|
||||
|
||||
This value is set to the index in either the HPACK or QPACK static table
|
||||
whose entry's name element matches ``name``. The values are as follows:
|
||||
|
||||
- if there is no such match, this value is zero;
|
||||
- if HPACK is used, the value is between 1 and 61; and
|
||||
- if QPACK is used, the value is 62+ (subtract 62 to get the QPACK
|
||||
static table index).
|
||||
|
||||
:param name:
|
||||
|
||||
Header field name. If NULL, this means that no more header are going to be
|
||||
added to the set.
|
||||
|
||||
:param name_len:
|
||||
|
||||
Header field name length.
|
||||
|
||||
:param value:
|
||||
|
||||
Header field value.
|
||||
|
||||
:param value_len:
|
||||
|
||||
Header field value length.
|
||||
The header returned by @ref ``hsi_prepare_decode()``.
|
||||
|
||||
:return:
|
||||
|
||||
0 on success, non-zero on failure. The latter is treated as a stream
|
||||
error: the associated stream is reset. See :type:`lsquic_header_status`
|
||||
for detailed error listing.
|
||||
Return 0 on success, a positive value if a header error occured,
|
||||
or a negative value on any other error. A positive return value
|
||||
will result in cancellation of associated stream. A negative return
|
||||
value will result in connection being aborted.
|
||||
|
||||
.. member:: void (*hsi_discard_header_set)(void *hdr_set)
|
||||
|
||||
|
@ -1763,63 +1752,6 @@ Miscellaneous Types
|
|||
|
||||
Close handle.
|
||||
|
||||
.. type:: enum lsquic_header_status
|
||||
|
||||
When headers are processed, various errors may occur. They are listed
|
||||
in this enum.
|
||||
|
||||
.. member:: LSQUIC_HDR_OK
|
||||
|
||||
Header was processed OK.
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_DUPLICATE_PSDO_HDR
|
||||
|
||||
Duplicate pseudo-header
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_INCOMPL_REQ_PSDO_HDR
|
||||
|
||||
Not all request pseudo-headers are present
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_UNNEC_REQ_PSDO_HDR
|
||||
|
||||
Unnecessary request pseudo-header present in the response
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_BAD_REQ_HEADER
|
||||
|
||||
Prohibited header in request
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_INCOMPL_RESP_PSDO_HDR
|
||||
|
||||
Not all response pseudo-headers are present
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_UNNEC_RESP_PSDO_HDR
|
||||
|
||||
Unnecessary response pseudo-header present in the response.
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_UNKNOWN_PSDO_HDR
|
||||
|
||||
Unknown pseudo-header
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_UPPERCASE_HEADER
|
||||
|
||||
Uppercase letter in header
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_MISPLACED_PSDO_HDR
|
||||
|
||||
Misplaced pseudo-header
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_MISSING_PSDO_HDR
|
||||
|
||||
Missing pseudo-header
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_HEADERS_TOO_LARGE
|
||||
|
||||
Header or headers are too large
|
||||
|
||||
.. member:: LSQUIC_HDR_ERR_NOMEM
|
||||
|
||||
Cannot allocate any more memory.
|
||||
|
||||
.. type:: enum lsquic_logger_timestamp_style
|
||||
|
||||
Enumerate timestamp styles supported by LSQUIC logger mechanism.
|
||||
|
|
|
@ -24,9 +24,9 @@ copyright = u'2020, LiteSpeed Technologies'
|
|||
author = u'LiteSpeed Technologies'
|
||||
|
||||
# The short X.Y version
|
||||
version = u'2.12'
|
||||
version = u'2.13'
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = u'2.12.0'
|
||||
release = u'2.13.0'
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
|
|
@ -16,6 +16,7 @@ LSQUIC library uses:
|
|||
|
||||
- zlib_;
|
||||
- BoringSSL_; and
|
||||
- `ls-hpack`_ (as a Git submodule).
|
||||
- `ls-qpack`_ (as a Git submodule).
|
||||
|
||||
The accompanying demo command-line tools use libevent_.
|
||||
|
@ -66,6 +67,7 @@ the :doc:`apiref`.
|
|||
|
||||
.. _zlib: https://www.zlib.net/
|
||||
.. _BoringSSL: https://boringssl.googlesource.com/boringssl/
|
||||
.. _`ls-hpack`: https://github.com/litespeedtech/ls-hpack
|
||||
.. _`ls-qpack`: https://github.com/litespeedtech/ls-qpack
|
||||
.. _libevent: https://libevent.org/
|
||||
.. _README: https://github.com/litespeedtech/lsquic/blob/master/README.md
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue