Documentation
¶
Index ¶
- Constants
- Variables
- func IsBackgroundProbe(ctx context.Context) bool
- func ParseProxy(mapping map[string]any, options ...ProxyOption) (C.Proxy, error)
- func SetURLTestAdmission(f func(ctx context.Context) error)
- func WithBackgroundProbe(ctx context.Context) context.Context
- type Proxy
- func (p *Proxy) Adapter() C.ProxyAdapter
- func (p *Proxy) AliveForTestUrl(url string) bool
- func (p *Proxy) DelayHistory() []C.DelayHistory
- func (p *Proxy) DelayHistoryForTestUrl(url string) []C.DelayHistory
- func (p *Proxy) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error)
- func (p *Proxy) ExtraDelayHistories() map[string]C.ProxyState
- func (p *Proxy) LastDelayForTestUrl(url string) (delay uint16)
- func (p *Proxy) LastURLTestRecord(url string) (record C.DelayHistory, alive bool, expected string, ok bool)
- func (p *Proxy) ListenPacketContext(ctx context.Context, metadata *C.Metadata) (C.PacketConn, error)
- func (p *Proxy) MarshalJSON() ([]byte, error)
- func (p *Proxy) URLTest(ctx context.Context, url string, expectedStatus utils.IntRanges[uint16]) (t uint16, err error)
- func (p *Proxy) URLTestOutcome(ctx context.Context, url string, expectedStatus utils.IntRanges[uint16]) (URLTestOutcome, error)
- type ProxyOption
- type URLTestFailure
- type URLTestOutcome
- type URLTestOutcomeProvider
Constants ¶
View Source
const ( URLTestFailureTimeout = "timeout" URLTestFailureCanceled = "canceled" URLTestFailureStatus = "status" URLTestFailureUnknown = "unknown" )
Variables ¶
View Source
var ErrURLTestDeferred = errors.New("url test deferred: memory admission")
View Source
var UnifiedDelay = atomic.NewBool(false)
Functions ¶
func IsBackgroundProbe ¶
func ParseProxy ¶
func SetURLTestAdmission ¶
Types ¶
type Proxy ¶
type Proxy struct {
C.ProxyAdapter
// contains filtered or unexported fields
}
func NewProxy ¶
func NewProxy(adapter C.ProxyAdapter) *Proxy
func (*Proxy) AliveForTestUrl ¶
AliveForTestUrl implements C.Proxy
func (*Proxy) DelayHistory ¶
func (p *Proxy) DelayHistory() []C.DelayHistory
DelayHistory implements C.Proxy
func (*Proxy) DelayHistoryForTestUrl ¶
func (p *Proxy) DelayHistoryForTestUrl(url string) []C.DelayHistory
DelayHistoryForTestUrl implements C.Proxy
func (*Proxy) DialContext ¶
DialContext implements C.ProxyAdapter
func (*Proxy) ExtraDelayHistories ¶
func (p *Proxy) ExtraDelayHistories() map[string]C.ProxyState
ExtraDelayHistories return all delay histories for each test URL implements C.Proxy
func (*Proxy) LastDelayForTestUrl ¶
LastDelayForTestUrl return last history record of the specified URL. if proxy is not alive, return the max value of uint16. implements C.Proxy
func (*Proxy) LastURLTestRecord ¶
func (*Proxy) ListenPacketContext ¶
func (p *Proxy) ListenPacketContext(ctx context.Context, metadata *C.Metadata) (C.PacketConn, error)
ListenPacketContext implements C.ProxyAdapter
func (*Proxy) MarshalJSON ¶
MarshalJSON implements C.ProxyAdapter
type ProxyOption ¶
type ProxyOption func(opt *proxyOption)
func WithDialerForAPI ¶
func WithDialerForAPI(dialer C.Dialer) ProxyOption
func WithProviderName ¶
func WithProviderName(name string) ProxyOption
func WithTunnelForAPI ¶
func WithTunnelForAPI(tunnel C.Tunnel) ProxyOption
type URLTestFailure ¶
func ClassifyURLTestFailure ¶
func ClassifyURLTestFailure(err error, satisfied bool, status int) *URLTestFailure
type URLTestOutcome ¶
type URLTestOutcomeProvider ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.