istio: istio.io/istio/pkg/keepalive Index | Files

package keepalive

import "istio.io/istio/pkg/keepalive"

Index

Package Files

options.go

Constants

const (
    // Infinity is the maximum possible duration for keepalive values
    Infinity = time.Duration(math.MaxInt64)
)

type Options Uses

type Options struct {
    // After a duration of this time if the server/client doesn't see any activity it pings the peer to see if the transport is still alive.
    Time time.Duration
    // After having pinged for keepalive check, the server waits for a duration of Timeout and if no activity is seen even after that
    // the connection is closed.
    Timeout time.Duration
    // MaxServerConnectionAge is a duration for the maximum amount of time a
    // connection may exist before it will be closed by the server sending a GoAway.
    // A random jitter is added to spread out connection storms.
    // See https://github.com/grpc/grpc-go/blob/bd0b3b2aa2a9c87b323ee812359b0e9cda680dad/keepalive/keepalive.go#L49
    MaxServerConnectionAge time.Duration // default value is infinity
    // MaxServerConnectionAgeGrace is an additive period after MaxServerConnectionAge
    // after which the connection will be forcibly closed by the server.
    MaxServerConnectionAgeGrace time.Duration // default value 10s
}

Options defines the set of options used for grpc keepalive. The Time and Timeout options are used for both client and server connections, whereas MaxServerConnectionAge* options are applicable on the server side only (as implied by the options' name...)

func DefaultOption Uses

func DefaultOption() *Options

DefaultOption returns the default keepalive options.

func (*Options) AttachCobraFlags Uses

func (o *Options) AttachCobraFlags(cmd *cobra.Command)

AttachCobraFlags attaches a set of Cobra flags to the given Cobra command.

Cobra is the command-line processor that Istio uses. This command attaches the necessary set of flags to configure the grpc keepalive options.

Package keepalive imports 3 packages (graph) and is imported by 8 packages. Updated 2019-06-12. Refresh now. Tools for package owners.