tcp

package
v2.5.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2016 License: MIT Imports: 16 Imported by: 6

Documentation

Overview

Package tcp is a generated protocol buffer package.

It is generated from these files:

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

It has these top-level messages:

ConnectionReuse
Config

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClosedListener = errors.New("Listener is closed.")
)

Functions

func FindFirstValid

func FindFirstValid(list []*AwaitingConnection) int

func ListenRawTCP

func ListenRawTCP(address v2net.Address, port v2net.Port, options internet.ListenOptions) (internet.Listener, error)

func ListenTCP

func ListenTCP(address v2net.Address, port v2net.Port, options internet.ListenOptions) (internet.Listener, error)

Types

type AwaitingConnection

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

func (*AwaitingConnection) Expired

func (this *AwaitingConnection) Expired() bool

type Config

type Config struct {
	ConnectionReuse *ConnectionReuse                        `protobuf:"bytes,1,opt,name=connection_reuse,json=connectionReuse" json:"connection_reuse,omitempty"`
	HeaderSettings  *v2ray_core_common_loader.TypedSettings `protobuf:"bytes,2,opt,name=header_settings,json=headerSettings" json:"header_settings,omitempty"`
}

func (*Config) Descriptor

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

func (*Config) GetConnectionReuse

func (m *Config) GetConnectionReuse() *ConnectionReuse

func (*Config) GetHeaderSettings

func (m *Config) GetHeaderSettings() *v2ray_core_common_loader.TypedSettings

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

type Connection

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

func NewConnection

func NewConnection(dest string, conn net.Conn, manager ConnectionManager, config *Config) *Connection

func (*Connection) Close

func (this *Connection) Close() error

func (*Connection) LocalAddr

func (this *Connection) LocalAddr() net.Addr

func (*Connection) Read

func (this *Connection) Read(b []byte) (int, error)

func (*Connection) RemoteAddr

func (this *Connection) RemoteAddr() net.Addr

func (*Connection) Reusable

func (this *Connection) Reusable() bool

func (*Connection) SetDeadline

func (this *Connection) SetDeadline(t time.Time) error

func (*Connection) SetReadDeadline

func (this *Connection) SetReadDeadline(t time.Time) error

func (*Connection) SetReusable

func (this *Connection) SetReusable(reusable bool)

func (*Connection) SetWriteDeadline

func (this *Connection) SetWriteDeadline(t time.Time) error

func (*Connection) SysFd

func (this *Connection) SysFd() (int, error)

func (*Connection) Write

func (this *Connection) Write(b []byte) (int, error)

type ConnectionCache

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

func NewConnectionCache

func NewConnectionCache() *ConnectionCache

func (*ConnectionCache) Cleanup

func (this *ConnectionCache) Cleanup()

func (*ConnectionCache) Get

func (this *ConnectionCache) Get(dest string) net.Conn

func (*ConnectionCache) Recycle

func (this *ConnectionCache) Recycle(dest string, conn net.Conn)

type ConnectionManager

type ConnectionManager interface {
	Recycle(string, net.Conn)
}

type ConnectionReuse

type ConnectionReuse struct {
	Enable bool `protobuf:"varint,1,opt,name=enable" json:"enable,omitempty"`
}

func (*ConnectionReuse) Descriptor

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

func (*ConnectionReuse) IsEnabled

func (this *ConnectionReuse) IsEnabled() bool

func (*ConnectionReuse) ProtoMessage

func (*ConnectionReuse) ProtoMessage()

func (*ConnectionReuse) Reset

func (m *ConnectionReuse) Reset()

func (*ConnectionReuse) String

func (m *ConnectionReuse) String() string

type ConnectionWithError

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

type RawConnection

type RawConnection struct {
	net.TCPConn
}

func (*RawConnection) Reusable

func (this *RawConnection) Reusable() bool

func (*RawConnection) SetReusable

func (this *RawConnection) SetReusable(b bool)

func (*RawConnection) SysFd added in v1.18.1

func (this *RawConnection) SysFd() (int, error)

type RawTCPListener

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

func (*RawTCPListener) Accept

func (this *RawTCPListener) Accept() (internet.Connection, error)

func (*RawTCPListener) Addr

func (this *RawTCPListener) Addr() net.Addr

func (*RawTCPListener) Close

func (this *RawTCPListener) Close() error

type TCPListener

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

func (*TCPListener) Accept

func (this *TCPListener) Accept() (internet.Connection, error)

func (*TCPListener) Addr

func (this *TCPListener) Addr() net.Addr

func (*TCPListener) Close

func (this *TCPListener) Close() error

func (*TCPListener) KeepAccepting

func (this *TCPListener) KeepAccepting()

func (*TCPListener) Recycle

func (this *TCPListener) Recycle(dest string, conn net.Conn)

Jump to

Keyboard shortcuts

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