Documentation ¶
Index ¶
- Variables
- func Dial(ctx context.Context, dest net.Destination, ...) (stat.Connection, error)
- func ListenSH(ctx context.Context, address net.Address, port net.Port, ...) (internet.Listener, error)
- func NewUploadQueue(maxPackets int) *uploadQueue
- type BrowserDialerClient
- func (c *BrowserDialerClient) IsClosed() bool
- func (c *BrowserDialerClient) OpenStream(ctx context.Context, url string, body io.Reader, uploadOnly bool) (io.ReadCloser, gonet.Addr, gonet.Addr, error)
- func (c *BrowserDialerClient) PostPacket(ctx context.Context, url string, body io.Reader, contentLength int64) error
- type Config
- func (*Config) Descriptor() ([]byte, []int)deprecated
- func (x *Config) GetDownloadSettings() *internet.StreamConfig
- func (x *Config) GetHeaders() map[string]string
- func (x *Config) GetHost() string
- func (x *Config) GetMode() string
- func (x *Config) GetNoGRPCHeader() bool
- func (x *Config) GetNoSSEHeader() bool
- func (c *Config) GetNormalizedPath() string
- func (c *Config) GetNormalizedQuery() string
- func (c *Config) GetNormalizedScMaxBufferedPosts() int
- func (c *Config) GetNormalizedScMaxEachPostBytes() RangeConfig
- func (c *Config) GetNormalizedScMinPostsIntervalMs() RangeConfig
- func (c *Config) GetNormalizedXPaddingBytes() RangeConfig
- func (x *Config) GetPath() string
- func (c *Config) GetRequestHeader() http.Header
- func (x *Config) GetScMaxBufferedPosts() int64
- func (x *Config) GetScMaxEachPostBytes() *RangeConfig
- func (x *Config) GetScMinPostsIntervalMs() *RangeConfig
- func (x *Config) GetXPaddingBytes() *RangeConfig
- func (x *Config) GetXmux() *XmuxConfig
- func (*Config) ProtoMessage()
- func (x *Config) ProtoReflect() protoreflect.Message
- func (x *Config) Reset()
- func (x *Config) String() string
- func (c *Config) WriteResponseHeader(writer http.ResponseWriter)
- type DefaultDialerClient
- func (c *DefaultDialerClient) IsClosed() bool
- func (c *DefaultDialerClient) OpenStream(ctx context.Context, url string, body io.Reader, uploadOnly bool) (wrc io.ReadCloser, remoteAddr, localAddr gonet.Addr, err error)
- func (c *DefaultDialerClient) PostPacket(ctx context.Context, url string, body io.Reader, contentLength int64) error
- type DialerClient
- type H1Conn
- type Listener
- type Packet
- type RangeConfig
- type WaitReadCloser
- type XmuxClient
- type XmuxConfig
- func (*XmuxConfig) Descriptor() ([]byte, []int)deprecated
- func (x *XmuxConfig) GetCMaxLifetimeMs() *RangeConfig
- func (x *XmuxConfig) GetCMaxReuseTimes() *RangeConfig
- func (x *XmuxConfig) GetHKeepAlivePeriod() int64
- func (x *XmuxConfig) GetHMaxRequestTimes() *RangeConfig
- func (x *XmuxConfig) GetMaxConcurrency() *RangeConfig
- func (x *XmuxConfig) GetMaxConnections() *RangeConfig
- func (m *XmuxConfig) GetNormalizedCMaxLifetimeMs() RangeConfig
- func (m *XmuxConfig) GetNormalizedCMaxRequestTimes() RangeConfig
- func (m *XmuxConfig) GetNormalizedCMaxReuseTimes() RangeConfig
- func (m *XmuxConfig) GetNormalizedMaxConcurrency() RangeConfig
- func (m *XmuxConfig) GetNormalizedMaxConnections() RangeConfig
- func (*XmuxConfig) ProtoMessage()
- func (x *XmuxConfig) ProtoReflect() protoreflect.Message
- func (x *XmuxConfig) Reset()
- func (x *XmuxConfig) String() string
- type XmuxConn
- type XmuxManager
Constants ¶
This section is empty.
Variables ¶
View Source
var File_transport_internet_splithttp_config_proto protoreflect.FileDescriptor
Functions ¶
func Dial ¶
func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.MemoryStreamConfig) (stat.Connection, error)
func NewUploadQueue ¶
func NewUploadQueue(maxPackets int) *uploadQueue
Types ¶
type BrowserDialerClient ¶
type BrowserDialerClient struct{}
implements splithttp.DialerClient in terms of browser dialer has no fields because everything is global state :O)
func (*BrowserDialerClient) IsClosed ¶
func (c *BrowserDialerClient) IsClosed() bool
func (*BrowserDialerClient) OpenStream ¶
func (*BrowserDialerClient) PostPacket ¶
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"` Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` Headers map[string]string `` /* 155-byte string literal not displayed */ XPaddingBytes *RangeConfig `protobuf:"bytes,5,opt,name=xPaddingBytes,proto3" json:"xPaddingBytes,omitempty"` NoGRPCHeader bool `protobuf:"varint,6,opt,name=noGRPCHeader,proto3" json:"noGRPCHeader,omitempty"` NoSSEHeader bool `protobuf:"varint,7,opt,name=noSSEHeader,proto3" json:"noSSEHeader,omitempty"` ScMaxEachPostBytes *RangeConfig `protobuf:"bytes,8,opt,name=scMaxEachPostBytes,proto3" json:"scMaxEachPostBytes,omitempty"` ScMinPostsIntervalMs *RangeConfig `protobuf:"bytes,9,opt,name=scMinPostsIntervalMs,proto3" json:"scMinPostsIntervalMs,omitempty"` ScMaxBufferedPosts int64 `protobuf:"varint,10,opt,name=scMaxBufferedPosts,proto3" json:"scMaxBufferedPosts,omitempty"` Xmux *XmuxConfig `protobuf:"bytes,11,opt,name=xmux,proto3" json:"xmux,omitempty"` DownloadSettings *internet.StreamConfig `protobuf:"bytes,12,opt,name=downloadSettings,proto3" json:"downloadSettings,omitempty"` // contains filtered or unexported fields }
func (*Config) Descriptor
deprecated
func (*Config) GetDownloadSettings ¶
func (x *Config) GetDownloadSettings() *internet.StreamConfig
func (*Config) GetHeaders ¶
func (*Config) GetNoGRPCHeader ¶
func (*Config) GetNoSSEHeader ¶
func (*Config) GetNormalizedPath ¶
func (*Config) GetNormalizedQuery ¶
func (*Config) GetNormalizedScMaxBufferedPosts ¶
func (*Config) GetNormalizedScMaxEachPostBytes ¶
func (c *Config) GetNormalizedScMaxEachPostBytes() RangeConfig
func (*Config) GetNormalizedScMinPostsIntervalMs ¶
func (c *Config) GetNormalizedScMinPostsIntervalMs() RangeConfig
func (*Config) GetNormalizedXPaddingBytes ¶
func (c *Config) GetNormalizedXPaddingBytes() RangeConfig
func (*Config) GetRequestHeader ¶
func (*Config) GetScMaxBufferedPosts ¶
func (*Config) GetScMaxEachPostBytes ¶
func (x *Config) GetScMaxEachPostBytes() *RangeConfig
func (*Config) GetScMinPostsIntervalMs ¶
func (x *Config) GetScMinPostsIntervalMs() *RangeConfig
func (*Config) GetXPaddingBytes ¶
func (x *Config) GetXPaddingBytes() *RangeConfig
func (*Config) GetXmux ¶
func (x *Config) GetXmux() *XmuxConfig
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) ProtoReflect ¶
func (x *Config) ProtoReflect() protoreflect.Message
func (*Config) WriteResponseHeader ¶
func (c *Config) WriteResponseHeader(writer http.ResponseWriter)
type DefaultDialerClient ¶
type DefaultDialerClient struct {
// contains filtered or unexported fields
}
implements splithttp.DialerClient in terms of direct network connections
func (*DefaultDialerClient) IsClosed ¶
func (c *DefaultDialerClient) IsClosed() bool
func (*DefaultDialerClient) OpenStream ¶
func (*DefaultDialerClient) PostPacket ¶
type DialerClient ¶
type DialerClient interface { IsClosed() bool // ctx, url, body, uploadOnly OpenStream(context.Context, string, io.Reader, bool) (io.ReadCloser, net.Addr, net.Addr, error) // ctx, url, body, contentLength PostPacket(context.Context, string, io.Reader, int64) error }
interface to abstract between use of browser dialer, vs net/http
type RangeConfig ¶
type RangeConfig struct { From int32 `protobuf:"varint,1,opt,name=from,proto3" json:"from,omitempty"` To int32 `protobuf:"varint,2,opt,name=to,proto3" json:"to,omitempty"` // contains filtered or unexported fields }
func (*RangeConfig) Descriptor
deprecated
func (*RangeConfig) Descriptor() ([]byte, []int)
Deprecated: Use RangeConfig.ProtoReflect.Descriptor instead.
func (*RangeConfig) GetFrom ¶
func (x *RangeConfig) GetFrom() int32
func (*RangeConfig) GetTo ¶
func (x *RangeConfig) GetTo() int32
func (*RangeConfig) ProtoMessage ¶
func (*RangeConfig) ProtoMessage()
func (*RangeConfig) ProtoReflect ¶
func (x *RangeConfig) ProtoReflect() protoreflect.Message
func (*RangeConfig) Reset ¶
func (x *RangeConfig) Reset()
func (*RangeConfig) String ¶
func (x *RangeConfig) String() string
type WaitReadCloser ¶
type WaitReadCloser struct { Wait chan struct{} io.ReadCloser }
func (*WaitReadCloser) Close ¶
func (w *WaitReadCloser) Close() error
func (*WaitReadCloser) Set ¶
func (w *WaitReadCloser) Set(rc io.ReadCloser)
type XmuxClient ¶
type XmuxConfig ¶
type XmuxConfig struct { MaxConcurrency *RangeConfig `protobuf:"bytes,1,opt,name=maxConcurrency,proto3" json:"maxConcurrency,omitempty"` MaxConnections *RangeConfig `protobuf:"bytes,2,opt,name=maxConnections,proto3" json:"maxConnections,omitempty"` CMaxReuseTimes *RangeConfig `protobuf:"bytes,3,opt,name=cMaxReuseTimes,proto3" json:"cMaxReuseTimes,omitempty"` CMaxLifetimeMs *RangeConfig `protobuf:"bytes,4,opt,name=cMaxLifetimeMs,proto3" json:"cMaxLifetimeMs,omitempty"` HMaxRequestTimes *RangeConfig `protobuf:"bytes,5,opt,name=hMaxRequestTimes,proto3" json:"hMaxRequestTimes,omitempty"` HKeepAlivePeriod int64 `protobuf:"varint,6,opt,name=hKeepAlivePeriod,proto3" json:"hKeepAlivePeriod,omitempty"` // contains filtered or unexported fields }
func (*XmuxConfig) Descriptor
deprecated
func (*XmuxConfig) Descriptor() ([]byte, []int)
Deprecated: Use XmuxConfig.ProtoReflect.Descriptor instead.
func (*XmuxConfig) GetCMaxLifetimeMs ¶
func (x *XmuxConfig) GetCMaxLifetimeMs() *RangeConfig
func (*XmuxConfig) GetCMaxReuseTimes ¶
func (x *XmuxConfig) GetCMaxReuseTimes() *RangeConfig
func (*XmuxConfig) GetHKeepAlivePeriod ¶
func (x *XmuxConfig) GetHKeepAlivePeriod() int64
func (*XmuxConfig) GetHMaxRequestTimes ¶
func (x *XmuxConfig) GetHMaxRequestTimes() *RangeConfig
func (*XmuxConfig) GetMaxConcurrency ¶
func (x *XmuxConfig) GetMaxConcurrency() *RangeConfig
func (*XmuxConfig) GetMaxConnections ¶
func (x *XmuxConfig) GetMaxConnections() *RangeConfig
func (*XmuxConfig) GetNormalizedCMaxLifetimeMs ¶
func (m *XmuxConfig) GetNormalizedCMaxLifetimeMs() RangeConfig
func (*XmuxConfig) GetNormalizedCMaxRequestTimes ¶
func (m *XmuxConfig) GetNormalizedCMaxRequestTimes() RangeConfig
func (*XmuxConfig) GetNormalizedCMaxReuseTimes ¶
func (m *XmuxConfig) GetNormalizedCMaxReuseTimes() RangeConfig
func (*XmuxConfig) GetNormalizedMaxConcurrency ¶
func (m *XmuxConfig) GetNormalizedMaxConcurrency() RangeConfig
func (*XmuxConfig) GetNormalizedMaxConnections ¶
func (m *XmuxConfig) GetNormalizedMaxConnections() RangeConfig
func (*XmuxConfig) ProtoMessage ¶
func (*XmuxConfig) ProtoMessage()
func (*XmuxConfig) ProtoReflect ¶
func (x *XmuxConfig) ProtoReflect() protoreflect.Message
func (*XmuxConfig) Reset ¶
func (x *XmuxConfig) Reset()
func (*XmuxConfig) String ¶
func (x *XmuxConfig) String() string
type XmuxManager ¶
type XmuxManager struct {
// contains filtered or unexported fields
}
func NewXmuxManager ¶
func NewXmuxManager(xmuxConfig XmuxConfig, newConnFunc func() XmuxConn) *XmuxManager
func (*XmuxManager) GetXmuxClient ¶
func (m *XmuxManager) GetXmuxClient(ctx context.Context) *XmuxClient
Click to show internal directories.
Click to hide internal directories.