blob: 035f5b55f4061fdef07a8ee1794411de18079d9d [file] [log] [blame]
package transport
import (
"math"
"time"
)
// KeepaliveParameters is used to set keepalive parameters.
// These configure how the client will actively probe to notice when a connection broken
// and to cause activity so intermediaries are aware the connection is still in use.
type KeepaliveParameters struct {
// After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.
Time time.Duration // The current default value is inifinity.
// After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that
// the connection is closed.
Timeout time.Duration // The current default value is 20 seconds.
//If true, client runs keepalive checks even with no active RPCs.
PermitWithoutStream bool
}
const (
infinity = time.Duration(math.MaxInt64)
defaultKeepaliveTime = infinity
defaultKeepaliveTimeout = time.Duration(20 * time.Second)
)