1 2nghttp2_hd_deflate_hd_vec 3========================= 4 5Synopsis 6-------- 7 8*#include <nghttp2/nghttp2.h>* 9 10.. 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) 11 12 13 Deflates the *nva*, which has the *nvlen* name/value pairs, into 14 the *veclen* size of buf vector *vec*. The each size of buffer 15 must be set in len field of :type:`nghttp2_vec`. If and only if 16 one chunk is filled up completely, next chunk will be used. If 17 *vec* is not large enough to store the deflated header block, this 18 function fails with 19 :macro:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller 20 should use `nghttp2_hd_deflate_bound()` to know the upper bound of 21 buffer size required to deflate given header name/value pairs. 22 23 Once this function fails, subsequent call of this function always 24 returns :macro:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`. 25 26 After this function returns, it is safe to delete the *nva*. 27 28 This function returns the number of bytes written to *vec* if it 29 succeeds, or one of the following negative error codes: 30 31 :macro:`nghttp2_error.NGHTTP2_ERR_NOMEM` 32 Out of memory. 33 :macro:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` 34 Deflation process has failed. 35 :macro:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` 36 The provided *buflen* size is too small to hold the output. 37