dispatcher

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2022 License: MPL-2.0 Imports: 28 Imported by: 34

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_app_dispatcher_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Config

type Config struct {
	Settings *SessionConfig `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"`
	// contains filtered or unexported fields
}

func (*Config) Descriptor deprecated

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

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetSettings

func (x *Config) GetSettings() *SessionConfig

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 DNSThenOthersSniffResult added in v1.5.0

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

func (DNSThenOthersSniffResult) Domain added in v1.5.0

func (f DNSThenOthersSniffResult) Domain() string

func (DNSThenOthersSniffResult) IsProtoSubsetOf added in v1.5.0

func (f DNSThenOthersSniffResult) IsProtoSubsetOf(protocolName string) bool

func (DNSThenOthersSniffResult) Protocol added in v1.5.0

func (DNSThenOthersSniffResult) Protocol() string

type DefaultDispatcher

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

DefaultDispatcher is a default implementation of Dispatcher.

func (*DefaultDispatcher) Close

func (*DefaultDispatcher) Close() error

Close implements common.Closable.

func (*DefaultDispatcher) Dispatch

func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destination) (*transport.Link, error)

Dispatch implements routing.Dispatcher.

func (d *DefaultDispatcher) DispatchLink(ctx context.Context, destination net.Destination, outbound *transport.Link) error

DispatchLink implements routing.Dispatcher.

func (*DefaultDispatcher) Init

func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager, dns dns.Client) error

Init initializes DefaultDispatcher.

func (*DefaultDispatcher) Start

func (*DefaultDispatcher) Start() error

Start implements common.Runnable.

func (*DefaultDispatcher) Type

func (*DefaultDispatcher) Type() interface{}

Type implements common.HasType.

type SessionConfig

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

func (*SessionConfig) Descriptor deprecated

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

Deprecated: Use SessionConfig.ProtoReflect.Descriptor instead.

func (*SessionConfig) ProtoMessage

func (*SessionConfig) ProtoMessage()

func (*SessionConfig) ProtoReflect

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

func (*SessionConfig) Reset

func (x *SessionConfig) Reset()

func (*SessionConfig) String

func (x *SessionConfig) String() string

type SizeStatWriter

type SizeStatWriter struct {
	Counter stats.Counter
	Writer  buf.Writer
}

func (*SizeStatWriter) Close

func (w *SizeStatWriter) Close() error

func (*SizeStatWriter) Interrupt

func (w *SizeStatWriter) Interrupt()

func (*SizeStatWriter) WriteMultiBuffer

func (w *SizeStatWriter) WriteMultiBuffer(mb buf.MultiBuffer) error

type SniffResult

type SniffResult interface {
	Protocol() string
	Domain() string
}

func CompositeResult added in v1.4.0

func CompositeResult(domainResult SniffResult, protocolResult SniffResult) SniffResult

type Sniffer

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

func NewSniffer

func NewSniffer(ctx context.Context) *Sniffer

func (*Sniffer) Sniff

func (s *Sniffer) Sniff(c context.Context, payload []byte, network net.Network) (SniffResult, error)

func (*Sniffer) SniffMetadata added in v1.4.0

func (s *Sniffer) SniffMetadata(c context.Context) (SniffResult, error)

type SnifferIsProtoSubsetOf added in v1.5.0

type SnifferIsProtoSubsetOf interface {
	IsProtoSubsetOf(protocolName string) bool
}

type SnifferResultComposite added in v1.4.0

type SnifferResultComposite interface {
	ProtocolForDomainResult() string
}

Jump to

Keyboard shortcuts

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