mydispatcher

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: May 9, 2022 License: MPL-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package dispather implement the rate limiter and the onlie device counter

Index

Constants

This section is empty.

Variables

View Source
var File_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

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

func (DNSThenOthersSniffResult) Domain

func (f DNSThenOthersSniffResult) Domain() string

func (DNSThenOthersSniffResult) IsProtoSubsetOf

func (f DNSThenOthersSniffResult) IsProtoSubsetOf(protocolName string) bool

func (DNSThenOthersSniffResult) Protocol

func (DNSThenOthersSniffResult) Protocol() string

type DefaultDispatcher

type DefaultDispatcher struct {
	Limiter     *limiter.Limiter
	RuleManager *rule.RuleManager
	// 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, dc 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

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) (SniffResult, error)

func (*Sniffer) SniffMetadata

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

type SnifferIsProtoSubsetOf

type SnifferIsProtoSubsetOf interface {
	IsProtoSubsetOf(protocolName string) bool
}

type SnifferResultComposite

type SnifferResultComposite interface {
	ProtocolForDomainResult() string
}

Jump to

Keyboard shortcuts

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