net

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListenPipe

func ListenPipe() *pipeListener

ListenPipe creates a pipeListener that implement net.Listener and Dialer.

The returned Listener and Dialer operate on the same in-memory channel. Calling Dial on the Dialer will return a Conn that can be used to communicate with a Conn accepted from the Listener.

Types

type ContextDialer

type ContextDialer interface {
	DialContext(ctx context.Context, network, address string) (net.Conn, error)
}

A ContextDialer dials using a context.

type DialContextFunc added in v0.2.0

type DialContextFunc func(ctx context.Context, network, address string) (net.Conn, error)

func (DialContextFunc) Dial added in v0.2.0

func (f DialContextFunc) Dial(network, address string) (net.Conn, error)

func (DialContextFunc) DialContext added in v0.2.0

func (f DialContextFunc) DialContext(ctx context.Context, network, address string) (net.Conn, error)

type DialFunc added in v0.2.0

type DialFunc func(network, address string) (net.Conn, error)

func (DialFunc) Dial added in v0.2.0

func (f DialFunc) Dial(network, address string) (net.Conn, error)

func (DialFunc) DialContext added in v0.2.0

func (f DialFunc) DialContext(ctx context.Context, network, address string) (net.Conn, error)

type Dialer

type Dialer interface {
	// Dial connects to the given address
	Dial(network, addr string) (c net.Conn, err error)
}

A Dialer is a means to establish a connection. Custom dialers should also implement ContextDialer.

type Forwarder

type Forwarder interface {
	// Forward() a conn and someone may Accept() it from Listener
	Forward(ctx context.Context, c net.Conn) error
}

type ForwarderFunc

type ForwarderFunc func(ctx context.Context, c net.Conn) error

func (ForwarderFunc) Forward

func (f ForwarderFunc) Forward(ctx context.Context, c net.Conn) error

type Listener

type Listener net.Listener

type PrefixConn

type PrefixConn struct {
	net.Conn
	Prefix io.Reader
}

PrefixConn will first read Prefix until EOF, and then read the content from Conn.

func (*PrefixConn) Read

func (b *PrefixConn) Read(p []byte) (n int, err error)

func (*PrefixConn) ReadFrom added in v0.2.0

func (b *PrefixConn) ReadFrom(r io.Reader) (n int64, err error)

func (*PrefixConn) WriteTo added in v0.2.0

func (b *PrefixConn) WriteTo(w io.Writer) (n int64, err error)

type ServeMux

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

ServeMux will forward the connection (Conn) to different Forwarders based on the rules.

func (*ServeMux) Forward

func (r *ServeMux) Forward(ctx context.Context, c net.Conn) error

func (*ServeMux) HandlePrefix

func (r *ServeMux) HandlePrefix(prefix []byte, forwarder Forwarder)

func (*ServeMux) HandleTLSProto added in v0.2.0

func (r *ServeMux) HandleTLSProto(proto string, forwarder Forwarder)

Directories

Path Synopsis
cookiejar
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.

Jump to

Keyboard shortcuts

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