VMOD h2 - Module to control the built-in HTTP2 transport

SYNOPSIS

import h2 [as name] [from "path"]

BOOL is()

DURATION rapid_reset([DURATION threshold])

INT rapid_reset_limit([INT number])

DURATION rapid_reset_period([DURATION duration])

REAL rapid_reset_budget()

DESCRIPTION

This VMOD contains functions to control the HTTP2 transport built into Varnish-Cache.

BOOL is()

Restricted to: client.

Returns true when called on a session handled by the built-in HTTP2 transport.

DURATION rapid_reset([DURATION threshold])

Restricted to: client.

Get and optionally set the h2_rapid_reset parameter (See varnishd) for this HTTP2 session only.

Returns -1 when used outside the HTTP2 transport. Otherwise returns the previous value.

If the call leads to a change in the rate limit parameters, the current budget as retuned by h2.rapid_reset_budget() is reset.

INT rapid_reset_limit([INT number])

Restricted to: client.

Get and optionally set the h2_rapid_reset_limit parameter (See varnishd) for this HTTP2 session only.

Returns -1 when used outside the HTTP2 transport. Otherwise returns the previous value.

If the call leads to a change in the rate limit parameters, the current budget as retuned by h2.rapid_reset_budget() is reset.

DURATION rapid_reset_period([DURATION duration])

Restricted to: client.

Get and optionally set the h2_rapid_reset_period parameter (See varnishd) for this HTTP2 session only.

Returns -1 when used outside the HTTP2 transport. Otherwise returns the previous value.

If the call leads to a change in the rate limit parameters, the current budget as retuned by h2.rapid_reset_budget() is reset.

REAL rapid_reset_budget()

Restricted to: client.

Return how many RST frames classified as “rapid” the client is still allowed to send before the session is going to be closed.

SEE ALSO