#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:

Out of memory.
Deflation process has failed.
The provided buflen size is too small to hold the output.