package client

import "sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client"

Index

Constants

const CloseTimeout = 10 * time.Second

CloseTimeout is the timeout to wait CLOSE_RSP packet after a successful delivery of CLOSE_REQ.

Variables

var (
	// Expose metrics for client to register.
	Metrics = metrics.Metrics
)

Functions

func GetDialFailureReason

func GetDialFailureReason(err error) (isDialFailure bool, reason metrics.DialFailureReason)

Types

type Tunnel

type Tunnel interface {
	// Dial connects to the address on the named network, similar to
	// what net.Dial does. The only supported protocol is tcp.
	DialContext(requestCtx context.Context, protocol, address string) (net.Conn, error)
	// Done returns a channel that is closed when the tunnel is no longer serving any connections,
	// and can no longer be used.
	Done() <-chan struct{}
}

Tunnel provides ability to dial a connection through a tunnel.

func CreateSingleUseGrpcTunnel

func CreateSingleUseGrpcTunnel(tunnelCtx context.Context, address string, opts ...grpc.DialOption) (Tunnel, error)

CreateSingleUseGrpcTunnel creates a Tunnel to dial to a remote server through a gRPC based proxy service. Currently, a single tunnel supports a single connection, and the tunnel is closed when the connection is terminated The Dial() method of the returned tunnel should only be called once Deprecated 2022-06-07: use CreateSingleUseGrpcTunnelWithContext

func CreateSingleUseGrpcTunnelWithContext

func CreateSingleUseGrpcTunnelWithContext(createCtx, tunnelCtx context.Context, address string, opts ...grpc.DialOption) (Tunnel, error)

CreateSingleUseGrpcTunnelWithContext creates a Tunnel to dial to a remote server through a gRPC based proxy service. Currently, a single tunnel supports a single connection. The tunnel is normally closed when the connection is terminated. If createCtx is cancelled before tunnel creation, an error will be returned. If tunnelCtx is cancelled while the tunnel is still in use, the tunnel (and any in flight connections) will be closed. The Dial() method of the returned tunnel should only be called once

Source Files

client.go conn.go

Directories

PathSynopsis
pkg/client/metrics
Version
v0.32.0 (latest)
Published
Mar 11, 2025
Platform
js/wasm
Imports
14 packages
Last checked
now

Tools for package owners.