conn

package
v3.80.12 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Unknown = State(iota)
	Created
	Online
	Banned
	Offline
	Destroyed
)

Variables

This section is empty.

Functions

func IsBadConn

func IsBadConn(err error, goodConnCodes ...grpcCodes.Code) bool

func UseWrapping

func UseWrapping(ctx context.Context) bool

func WithAppendOptions

func WithAppendOptions(cc grpc.ClientConnInterface, appendOpts ...grpc.CallOption) grpc.ClientConnInterface

func WithBeforeFunc

func WithBeforeFunc(
	cc grpc.ClientConnInterface,
	before func(),
) grpc.ClientConnInterface

func WithContextModifier

func WithContextModifier(
	cc grpc.ClientConnInterface,
	modifyCtx func(ctx context.Context) context.Context,
) grpc.ClientConnInterface

func WithoutWrapping

func WithoutWrapping(ctx context.Context) context.Context

Types

type Config

type Config interface {
	DialTimeout() time.Duration
	ConnectionTTL() time.Duration
	Trace() *trace.Driver
	GrpcDialOptions() []grpc.DialOption
}

type Conn

type Conn interface {
	grpc.ClientConnInterface

	Endpoint() endpoint.Endpoint

	LastUsage() time.Time

	Ping(ctx context.Context) error
	IsState(states ...State) bool
	GetState() State
	SetState(ctx context.Context, state State) State
	Unban(ctx context.Context) State
}

func New

func New(e endpoint.Endpoint, config Config, opts ...option) Conn

type Pool

type Pool struct {
	// contains filtered or unexported fields
}

func NewPool

func NewPool(ctx context.Context, config Config) *Pool

func (*Pool) Allow

func (p *Pool) Allow(ctx context.Context, cc Conn)

func (*Pool) Ban

func (p *Pool) Ban(ctx context.Context, cc Conn, cause error)

func (*Pool) Get

func (p *Pool) Get(endpoint endpoint.Endpoint) Conn

func (*Pool) Release

func (p *Pool) Release(ctx context.Context) (finalErr error)

func (*Pool) Take

func (p *Pool) Take(context.Context) error

type State

type State int8

func (State) Code

func (s State) Code() int

func (State) IsValid

func (s State) IsValid() bool

func (State) String

func (s State) String() string

Jump to

Keyboard shortcuts

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