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 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 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.