internet

package
v2.4.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2016 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package internet is a generated protocol buffer package.

It is generated from these files:

v2ray.com/core/transport/internet/config.proto

It has these top-level messages:

NetworkSettings
StreamConfig

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnconfiguredNetwork = errors.New("Network config creator not set.")
)
View Source
var (
	ErrUnsupportedStreamType = errors.New("Unsupported stream type.")
)

Functions

func ApplyGlobalNetworkSettings

func ApplyGlobalNetworkSettings(settings []*NetworkSettings) error

func CreateNetworkConfig

func CreateNetworkConfig(network v2net.Network) (interface{}, error)

func DialToDest

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

func RegisterAuthenticator

func RegisterAuthenticator(name string, factory AuthenticatorFactory) error

func RegisterNetworkConfigCreator

func RegisterNetworkConfigCreator(network v2net.Network, creator ConfigCreator) error

func SubstituteDialer

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

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

func CreateAuthenticator

func CreateAuthenticator(name string, config interface{}) (Authenticator, error)

func NewAuthenticatorChain

func NewAuthenticatorChain(auths ...Authenticator) Authenticator

type AuthenticatorChain

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

func (*AuthenticatorChain) Open

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

func (*AuthenticatorChain) Overhead

func (this *AuthenticatorChain) Overhead() int

func (*AuthenticatorChain) Seal

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

type AuthenticatorFactory

type AuthenticatorFactory interface {
	Create(interface{}) Authenticator
}

type ConfigCreator

type ConfigCreator func() interface{}

type Connection

type Connection interface {
	net.Conn
	Reusable
}

func Dial

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

type ConnectionHandler

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, options DialerOptions) (Connection, error)
var (
	TCPDialer    Dialer
	KCPDialer    Dialer
	RawTCPDialer Dialer
	UDPDialer    Dialer
	WSDialer     Dialer
)

type DialerOptions

type DialerOptions struct {
	Stream *StreamConfig
}

type ListenFunc

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

	KCPListenFunc    ListenFunc
	TCPListenFunc    ListenFunc
	RawTCPListenFunc ListenFunc
	WSListenFunc     ListenFunc
)

type ListenOptions

type ListenOptions struct {
	Stream *StreamConfig
}

type Listener

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

type NetworkSettings

type NetworkSettings struct {
	// Type of network that this settings supports.
	Network v2ray_core_common_net.Network `protobuf:"varint,1,opt,name=network,enum=v2ray.core.common.net.Network" json:"network,omitempty"`
	// Specific settings.
	Settings *v2ray_core_common_loader.TypedSettings `protobuf:"bytes,2,opt,name=settings" json:"settings,omitempty"`
}

func (*NetworkSettings) Descriptor

func (*NetworkSettings) Descriptor() ([]byte, []int)

func (*NetworkSettings) GetSettings

func (*NetworkSettings) GetTypedSettings

func (this *NetworkSettings) GetTypedSettings() (interface{}, error)

func (*NetworkSettings) ProtoMessage

func (*NetworkSettings) ProtoMessage()

func (*NetworkSettings) Reset

func (m *NetworkSettings) Reset()

func (*NetworkSettings) String

func (m *NetworkSettings) String() string

type Reusable

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 StreamConfig

type StreamConfig struct {
	// Effective network.
	Network         v2ray_core_common_net.Network `protobuf:"varint,1,opt,name=network,enum=v2ray.core.common.net.Network" json:"network,omitempty"`
	NetworkSettings []*NetworkSettings            `protobuf:"bytes,2,rep,name=network_settings,json=networkSettings" json:"network_settings,omitempty"`
	// Type of security. Must be a message name of the settings proto.
	SecurityType     string                                    `protobuf:"bytes,3,opt,name=security_type,json=securityType" json:"security_type,omitempty"`
	SecuritySettings []*v2ray_core_common_loader.TypedSettings `protobuf:"bytes,4,rep,name=security_settings,json=securitySettings" json:"security_settings,omitempty"`
}

func (*StreamConfig) Descriptor

func (*StreamConfig) Descriptor() ([]byte, []int)

func (*StreamConfig) GetEffectiveNetworkSettings

func (this *StreamConfig) GetEffectiveNetworkSettings() (interface{}, error)

func (*StreamConfig) GetEffectiveSecuritySettings

func (this *StreamConfig) GetEffectiveSecuritySettings() (interface{}, error)

func (*StreamConfig) GetNetworkSettings

func (m *StreamConfig) GetNetworkSettings() []*NetworkSettings

func (*StreamConfig) GetSecuritySettings

func (m *StreamConfig) GetSecuritySettings() []*v2ray_core_common_loader.TypedSettings

func (*StreamConfig) HasSecuritySettings

func (this *StreamConfig) HasSecuritySettings() bool

func (*StreamConfig) ProtoMessage

func (*StreamConfig) ProtoMessage()

func (*StreamConfig) Reset

func (m *StreamConfig) Reset()

func (*StreamConfig) String

func (m *StreamConfig) String() string

type SysFd

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

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

func ListenTCP

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

func (*TCPHub) Close

func (this *TCPHub) Close()

Directories

Path Synopsis
authenticators
noop
Package noop is a generated protocol buffer package.
Package noop is a generated protocol buffer package.
srtp
Package srtp is a generated protocol buffer package.
Package srtp is a generated protocol buffer package.
utp
Package utp is a generated protocol buffer package.
Package utp is a generated protocol buffer package.
Package kcp is a generated protocol buffer package.
Package kcp is a generated protocol buffer package.
Package tcp is a generated protocol buffer package.
Package tcp is a generated protocol buffer package.
Package tls is a generated protocol buffer package.
Package tls is a generated protocol buffer package.
Package ws is a generated protocol buffer package.
Package ws is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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