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#