Files
sm1.13-ripext/nghttp2/doc/nghttp2_hd_deflate_hd_vec.rst
jenz 08c03ac533
CI / Build (clang, clang++, ubuntu-22.04, linux, 3.10, master, x86,x86_64) (push) Canceled after 0s
CI / Build (clang, clang++, windows-2022, windows, 3.10, master, x86,x86_64) (push) Canceled after 0s
CI / Release (push) Canceled after 0s
first commit
2026-09-13 22:18:11 +01:00

37 lines
1.4 KiB
ReStructuredText

nghttp2_hd_deflate_hd_vec
=========================
Synopsis
--------
*#include <nghttp2/nghttp2.h>*
.. function:: ssize_t nghttp2_hd_deflate_hd_vec(nghttp2_hd_deflater *deflater, const nghttp2_vec *vec, size_t veclen, const nghttp2_nv *nva, size_t nvlen)
Deflates the *nva*, which has the *nvlen* name/value pairs, into
the *veclen* size of buf vector *vec*. The each size of buffer
must be set in len field of :type:`nghttp2_vec`. If and only if
one chunk is filled up completely, next chunk will be used. If
*vec* is not large enough to store the deflated header block, this
function fails with
:macro:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller
should use `nghttp2_hd_deflate_bound()` to know the upper bound of
buffer size required to deflate given header name/value pairs.
Once this function fails, subsequent call of this function always
returns :macro:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`.
After this function returns, it is safe to delete the *nva*.
This function returns the number of bytes written to *vec* if it
succeeds, or one of the following negative error codes:
:macro:`nghttp2_error.NGHTTP2_ERR_NOMEM`
Out of memory.
:macro:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`
Deflation process has failed.
:macro:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`
The provided *buflen* size is too small to hold the output.