websocket

package
v1.0.1-0...-bf2f4f2 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2024 License: MPL-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package websocket implements WebSocket transport

WebSocket transport implements an HTTP(S) compliable, surveillance proof transport method with plausible deniability.

Index

Constants

This section is empty.

Variables

View Source
var File_transport_internet_websocket_config_proto protoreflect.FileDescriptor

Functions

func Dial

func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.MemoryStreamConfig) (stat.Connection, error)

Dial dials a WebSocket connection to the given destination.

func ListenWS

func ListenWS(ctx context.Context, address net.Address, port net.Port, streamSettings *internet.MemoryStreamConfig, addConn internet.ConnHandler) (internet.Listener, error)

func NewConnection

func NewConnection(conn *websocket.Conn, remoteAddr net.Addr, extraReader io.Reader, heartbeatPeriod uint32) *connection

Types

type Config

type Config struct {
	Host                string            `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	Path                string            `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // URL path to the WebSocket service. Empty value means root(/).
	Header              map[string]string ``                                                              /* 153-byte string literal not displayed */
	AcceptProxyProtocol bool              `protobuf:"varint,4,opt,name=accept_proxy_protocol,json=acceptProxyProtocol,proto3" json:"accept_proxy_protocol,omitempty"`
	Ed                  uint32            `protobuf:"varint,5,opt,name=ed,proto3" json:"ed,omitempty"`
	HeartbeatPeriod     uint32            `protobuf:"varint,6,opt,name=heartbeatPeriod,proto3" json:"heartbeatPeriod,omitempty"`
	// contains filtered or unexported fields
}

func (*Config) Descriptor deprecated

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

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetAcceptProxyProtocol

func (x *Config) GetAcceptProxyProtocol() bool

func (*Config) GetEd

func (x *Config) GetEd() uint32

func (*Config) GetHeader

func (x *Config) GetHeader() map[string]string

func (*Config) GetHeartbeatPeriod

func (x *Config) GetHeartbeatPeriod() uint32

func (*Config) GetHost

func (x *Config) GetHost() string

func (*Config) GetNormalizedPath

func (c *Config) GetNormalizedPath() string

func (*Config) GetPath

func (x *Config) GetPath() string

func (*Config) GetRequestHeader

func (c *Config) GetRequestHeader() http.Header

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

func (x *Config) ProtoReflect() protoreflect.Message

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type Listener

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

func (*Listener) Addr

func (ln *Listener) Addr() net.Addr

Addr implements net.Listener.Addr().

func (*Listener) Close

func (ln *Listener) Close() error

Close implements net.Listener.Close().

Jump to

Keyboard shortcuts

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