conn

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package conn provides the representation of a logical connection. A connection is the primitive used for load balancing by the github.com/bufbuild/httplb package. A single connection generally wraps a single transport (or http.RoundTripper) to a single resolved address.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn interface {
	// RoundTrip sends a request using this connection. This is the same as
	// [http.RoundTripper]'s method of the same name except that it accepts
	// a callback that, if non-nil, is invoked when the request is completed.
	RoundTrip(req *http.Request, whenDone func()) (*http.Response, error)
	// Scheme returns the URL scheme to use with this connection.
	Scheme() string
	// Address is the address to which this value is connected.
	Address() resolver.Address
	// UpdateAttributes updates the connection's address to have the given attributes.
	UpdateAttributes(attributes attribute.Values)
	// Prewarm attempts to pre-warm this connection. Not all transports support
	// this operation. For those that do not, calling this function is a no-op.
	// It returns an error if the given context is cancelled or times out before
	// the connection can finish warming up.
	Prewarm(context.Context) error
}

Conn represents a connection to a resolved address. It is a *logical* connection. It may actually be represented by zero or more physical connections (i.e. sockets).

type Conns

type Conns interface {
	// Len returns the total number of connections in the set.
	Len() int
	// Get returns the connection at index i.
	Get(i int) Conn
}

Conns represents a read-only set of connections.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL