listener

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 License: MIT Imports: 12 Imported by: 39

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClosed = errors.New("accept on closed listener")
)

Functions

func NewAcceptError

func NewAcceptError(err error) error

Types

type AcceptError

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

func (*AcceptError) Error

func (e *AcceptError) Error() string

func (*AcceptError) Temporary

func (e *AcceptError) Temporary() bool

func (*AcceptError) Timeout

func (e *AcceptError) Timeout() bool

func (*AcceptError) Unwrap

func (e *AcceptError) Unwrap() error

type IListener

type IListener interface {
	Init(metadata.IMetaData) error
	Accept() (net.Conn, error)
	Addr() net.Addr
	Close() error
}

IListener is a server listener, just like a net.Listener.

type NewListener

type NewListener func(opts ...Option) IListener

type Option

type Option func(opts *Options)

func AddrOption

func AddrOption(addr string) Option

func AdmissionOption

func AdmissionOption(admission admission.IAdmission) Option

func AuthOption

func AuthOption(auth *url.Userinfo) Option

func AutherOption

func AutherOption(auther auth.IAuthenticator) Option

func ChainOption

func ChainOption(chain chain.IChainer) Option

func ConnLimiterOption

func ConnLimiterOption(limiter conn.IConnLimiter) Option

func LoggerOption

func LoggerOption(logger logger.ILogger) Option

func ProxyProtocolOption

func ProxyProtocolOption(ppv int) Option

func ServiceOption

func ServiceOption(service string) Option

func StatsOption added in v0.0.2

func StatsOption(stats *stats.Stats) Option

func TLSConfigOption

func TLSConfigOption(tlsConfig *tls.Config) Option

func TrafficLimiterOption

func TrafficLimiterOption(limiter traffic.ITrafficLimiter) Option

type Options

type Options struct {
	Addr           string
	Auther         auth.IAuthenticator
	Auth           *url.Userinfo
	TLSConfig      *tls.Config
	Admission      admission.IAdmission
	TrafficLimiter traffic.ITrafficLimiter
	ConnLimiter    conn.IConnLimiter
	Chain          chain.IChainer
	Stats          *stats.Stats
	Logger         logger.ILogger
	Service        string
	ProxyProtocol  int
}

Jump to

Keyboard shortcuts

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