Lines Matching refs:deflater
696 int nghttp2_hd_deflate_init(nghttp2_hd_deflater *deflater, nghttp2_mem *mem) {
698 deflater, NGHTTP2_HD_DEFAULT_MAX_DEFLATE_BUFFER_SIZE, mem);
701 int nghttp2_hd_deflate_init2(nghttp2_hd_deflater *deflater,
705 rv = hd_context_init(&deflater->ctx, mem);
710 hd_map_init(&deflater->map);
713 deflater->notify_table_size_change = 1;
714 deflater->ctx.hd_table_bufsize_max = max_deflate_dynamic_table_size;
716 deflater->notify_table_size_change = 0;
719 deflater->deflate_hd_table_bufsize_max = max_deflate_dynamic_table_size;
720 deflater->min_hd_table_bufsize_max = UINT32_MAX;
769 void nghttp2_hd_deflate_free(nghttp2_hd_deflater *deflater) {
770 hd_context_free(&deflater->ctx);
1246 nghttp2_hd_deflater *deflater, size_t settings_max_dynamic_table_size) {
1248 deflater->deflate_hd_table_bufsize_max);
1250 deflater->ctx.hd_table_bufsize_max = next_bufsize;
1252 deflater->min_hd_table_bufsize_max =
1253 nghttp2_min(deflater->min_hd_table_bufsize_max, next_bufsize);
1255 deflater->notify_table_size_change = 1;
1257 hd_context_shrink_table_size(&deflater->ctx, &deflater->map);
1327 static int hd_deflate_decide_indexing(nghttp2_hd_deflater *deflater,
1335 deflater->ctx.hd_table_bufsize_max * 3 / 4) {
1342 static int deflate_nv(nghttp2_hd_deflater *deflater, nghttp2_bufs *bufs,
1355 mem = deflater->ctx.mem;
1373 : hd_deflate_decide_indexing(deflater, nv, token);
1375 res = search_hd_table(&deflater->ctx, nv, token, indexing_mode,
1376 &deflater->map, hash);
1400 hd_nv.name = nghttp2_hd_table_get(&deflater->ctx, (size_t)idx).name;
1419 rv = add_hd_table_incremental(&deflater->ctx, &hd_nv, &deflater->map, hash);
1440 int nghttp2_hd_deflate_hd_bufs(nghttp2_hd_deflater *deflater,
1446 if (deflater->ctx.bad) {
1450 if (deflater->notify_table_size_change) {
1453 min_hd_table_bufsize_max = deflater->min_hd_table_bufsize_max;
1455 deflater->notify_table_size_change = 0;
1456 deflater->min_hd_table_bufsize_max = UINT32_MAX;
1458 if (deflater->ctx.hd_table_bufsize_max > min_hd_table_bufsize_max) {
1467 rv = emit_table_size(bufs, deflater->ctx.hd_table_bufsize_max);
1475 rv = deflate_nv(deflater, bufs, &nv[i]);
1487 deflater->ctx.bad = 1;
1491 ssize_t nghttp2_hd_deflate_hd(nghttp2_hd_deflater *deflater, uint8_t *buf,
1498 mem = deflater->ctx.mem;
1506 rv = nghttp2_hd_deflate_hd_bufs(deflater, &bufs, nv, nvlen);
1523 ssize_t nghttp2_hd_deflate_hd_vec(nghttp2_hd_deflater *deflater,
1531 mem = deflater->ctx.mem;
1539 rv = nghttp2_hd_deflate_hd_bufs(deflater, &bufs, nv, nvlen);
1556 size_t nghttp2_hd_deflate_bound(nghttp2_hd_deflater *deflater,
1560 (void)deflater;
1593 nghttp2_hd_deflater *deflater;
1599 deflater = nghttp2_mem_malloc(mem, sizeof(nghttp2_hd_deflater));
1601 if (deflater == NULL) {
1605 rv = nghttp2_hd_deflate_init2(deflater, deflate_hd_table_bufsize_max, mem);
1608 nghttp2_mem_free(mem, deflater);
1613 *deflater_ptr = deflater;
1618 void nghttp2_hd_deflate_del(nghttp2_hd_deflater *deflater) {
1621 mem = deflater->ctx.mem;
1623 nghttp2_hd_deflate_free(deflater);
1625 nghttp2_mem_free(mem, deflater);
2321 size_t nghttp2_hd_deflate_get_num_table_entries(nghttp2_hd_deflater *deflater) {
2322 return get_max_index(&deflater->ctx);
2326 nghttp2_hd_deflate_get_table_entry(nghttp2_hd_deflater *deflater, size_t idx) {
2327 return hd_get_table_entry(&deflater->ctx, idx);
2331 nghttp2_hd_deflate_get_dynamic_table_size(nghttp2_hd_deflater *deflater) {
2332 return deflater->ctx.hd_table_bufsize;
2336 nghttp2_hd_deflate_get_max_dynamic_table_size(nghttp2_hd_deflater *deflater) {
2337 return deflater->ctx.hd_table_bufsize_max;