internet

package
v2.1.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2016 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnsupportedStreamType = errors.New("Unsupported stream type.")
)

Functions

func DialToDest added in v1.17.1

func DialToDest(src v2net.Address, dest v2net.Destination) (net.Conn, error)

func RegisterAuthenticator added in v1.23.1

func RegisterAuthenticator(name string, factory AuthenticatorFactory) error

func SubstituteDialer added in v1.21.2

func SubstituteDialer(dialer SystemDialerAdapter) error

SubstituteDialer replaces the current system dialer with a given one. Caller must ensure there is no race condition. @Deprecated: Use UseAlternativeSimpleSystemDialer.

func UseAlternativeSystemDialer

func UseAlternativeSystemDialer(dialer SystemDialer)

UseAlternativeSystemDialer replaces the current system dialer with a given one. Caller must ensure there is no race condition.

Types

type Authenticator added in v1.23.1

type Authenticator interface {
	Seal(*alloc.Buffer)
	Open(*alloc.Buffer) bool
	Overhead() int
}

func CreateAuthenticator added in v1.23.1

func CreateAuthenticator(name string, config AuthenticatorConfig) (Authenticator, error)

func NewAuthenticatorChain added in v1.23.1

func NewAuthenticatorChain(auths ...Authenticator) Authenticator

type AuthenticatorChain added in v1.23.1

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

func (*AuthenticatorChain) Open added in v1.23.1

func (this *AuthenticatorChain) Open(payload *alloc.Buffer) bool

func (*AuthenticatorChain) Overhead added in v1.23.1

func (this *AuthenticatorChain) Overhead() int

func (*AuthenticatorChain) Seal added in v1.23.1

func (this *AuthenticatorChain) Seal(payload *alloc.Buffer)

type AuthenticatorConfig added in v1.23.1

type AuthenticatorConfig interface {
}

type AuthenticatorFactory added in v1.23.1

type AuthenticatorFactory interface {
	Create(AuthenticatorConfig) Authenticator
}

type Connection

type Connection interface {
	net.Conn
	Reusable
}

func Dial

func Dial(src v2net.Address, dest v2net.Destination, settings *StreamSettings) (Connection, error)

type ConnectionHandler added in v1.17.1

type ConnectionHandler func(Connection)

type DefaultSystemDialer

type DefaultSystemDialer struct {
}

func (*DefaultSystemDialer) Dial

func (this *DefaultSystemDialer) Dial(src v2net.Address, dest v2net.Destination) (net.Conn, error)

type Dialer

type Dialer func(src v2net.Address, dest v2net.Destination) (Connection, error)
var (
	TCPDialer    Dialer
	KCPDialer    Dialer
	RawTCPDialer Dialer
	UDPDialer    Dialer
	WSDialer     Dialer
)

type ListenFunc

type ListenFunc func(address v2net.Address, port v2net.Port) (Listener, error)
var (
	ErrClosedConnection = errors.New("Connection already closed.")

	KCPListenFunc    ListenFunc
	TCPListenFunc    ListenFunc
	RawTCPListenFunc ListenFunc
	WSListenFunc     ListenFunc
)

type Listener

type Listener interface {
	Accept() (Connection, error)
	Close() error
	Addr() net.Addr
}

type Reusable added in v1.17.1

type Reusable interface {
	Reusable() bool
	SetReusable(reuse bool)
}

type SimpleSystemDialer

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

func (*SimpleSystemDialer) Dial

func (this *SimpleSystemDialer) Dial(src v2net.Address, dest v2net.Destination) (net.Conn, error)

type StreamConnectionType added in v1.17.1

type StreamConnectionType int
const (
	StreamConnectionTypeRawTCP    StreamConnectionType = 1
	StreamConnectionTypeTCP       StreamConnectionType = 2
	StreamConnectionTypeKCP       StreamConnectionType = 4
	StreamConnectionTypeWebSocket StreamConnectionType = 8
)

type StreamSecurityType added in v1.19.1

type StreamSecurityType int
const (
	StreamSecurityTypeNone StreamSecurityType = 0
	StreamSecurityTypeTLS  StreamSecurityType = 1
)

type StreamSettings added in v1.17.1

type StreamSettings struct {
	Type        StreamConnectionType
	Security    StreamSecurityType
	TLSSettings *TLSSettings
}

func (*StreamSettings) IsCapableOf added in v1.17.1

func (this *StreamSettings) IsCapableOf(streamType StreamConnectionType) bool

type SysFd added in v1.18.1

type SysFd interface {
	SysFd() (int, error)
}

type SystemDialer

type SystemDialer interface {
	Dial(source v2net.Address, destination v2net.Destination) (net.Conn, error)
}

func WithAdapter

func WithAdapter(dialer SystemDialerAdapter) SystemDialer

type SystemDialerAdapter

type SystemDialerAdapter interface {
	Dial(network string, address string) (net.Conn, error)
}

type TCPHub added in v1.17.1

type TCPHub struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func ListenTCP

func ListenTCP(address v2net.Address, port v2net.Port, callback ConnectionHandler, settings *StreamSettings) (*TCPHub, error)

func (*TCPHub) Close added in v1.17.1

func (this *TCPHub) Close()

type TLSSettings added in v1.19.1

type TLSSettings struct {
	AllowInsecure bool
	Certs         []tls.Certificate
}

func (*TLSSettings) GetTLSConfig added in v1.19.1

func (this *TLSSettings) GetTLSConfig() *tls.Config

Directories

Path Synopsis
authenticators
utp
Package kcp - A Fast and Reliable ARQ Protocol Acknowledgement: skywind3000@github for inventing the KCP protocol xtaci@github for translating to Golang
Package kcp - A Fast and Reliable ARQ Protocol Acknowledgement: skywind3000@github for inventing the KCP protocol xtaci@github for translating to Golang
Package ws implements Websocket transport Websocket transport implements a HTTP(S) compliable, surveillance proof transport method with plausible deniability.
Package ws implements Websocket transport Websocket transport implements a HTTP(S) compliable, surveillance proof transport method with plausible deniability.

Jump to

Keyboard shortcuts

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