Skip to content

x/net/http2: export more tunable knobs #14077

@ayanamist

Description

@ayanamist

There are several default window settings in transport.go:

    // transportDefaultConnFlow is how many connection-level flow control
    // tokens we give the server at start-up, past the default 64k.
    transportDefaultConnFlow = 1 << 30

    // transportDefaultStreamFlow is how many stream-level flow
    // control tokens we announce to the peer, and how many bytes
    // we buffer per stream.
    transportDefaultStreamFlow = 4 << 20

    // transportDefaultStreamMinRefresh is the minimum number of bytes we'll send
    // a stream-level WINDOW_UPDATE for at a time.
    transportDefaultStreamMinRefresh = 4 << 10

NewClientConn method will use these without looking up other places. However, these default values are not suitable for all situations like high-latency high-throughput network.

Can you provide some setters to change these values instead of rewrite the whole thing using Framer or forking and rewriting this repo?

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions