nghttp2_hd_deflate_hd¶
Synopsis¶
#include <nghttp2/nghttp2.h>
-
ssize_t
nghttp2_hd_deflate_hd
(nghttp2_hd_deflater *deflater, uint8_t *buf, size_t buflen, const nghttp2_nv *nva, size_t nvlen)¶ Deflates the nva, which has the nvlen name/value pairs, into the buf of length buflen.
If buf is not large enough to store the deflated header block, this function fails with
NGHTTP2_ERR_INSUFF_BUFSIZE
. The caller should usenghttp2_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
NGHTTP2_ERR_HEADER_COMP
.After this function returns, it is safe to delete the nva.
This function returns 0 if it succeeds, or one of the following negative error codes:
NGHTTP2_ERR_NOMEM
- Out of memory.
NGHTTP2_ERR_HEADER_COMP
- Deflation process has failed.
NGHTTP2_ERR_INSUFF_BUFSIZE
- The provided buflen size is too small to hold the output.