forwarder

package
v0.17.90 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2022 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

View Source
const (
	DefaultLatencyProbeInterval        = 10 * time.Second
	DefaultLatencyProbeTimeout         = 10 * time.Second
	DefaultXgressCloseCheckInterval    = 5 * time.Second
	DefaultXgressDialDwellTime         = 0
	DefaultFaultTxInterval             = 15 * time.Second
	DefaultIdleTxInterval              = 60 * time.Second
	DefaultIdleCircuitTimeout          = 60 * time.Second
	DefaultXgressDialWorkerQueueLength = 1000
	MinXgressDialWorkerQueueLength     = 1
	MaxXgressDialWorkerQueueLength     = 10000
	DefaultXgressDialWorkerCount       = 10
	MinXgressDialWorkerCount           = 1
	MaxXgressDialWorkerCount           = 10000
	DefaultLinkDialQueueLength         = 1000
	MinLinkDialWorkerQueueLength       = 1
	MaxLinkDialWorkerQueueLength       = 10000
	DefaultLinkDialWorkerCount         = 10
	MinLinkDialWorkerCount             = 1
	MaxLinkDialWorkerCount             = 10000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CircuitReport added in v0.17.78

type CircuitReport struct {
	Forwards     map[string]string
	Destinations map[string]map[string]interface{}
}

type Destination

type Destination interface {
	SendPayload(payload *xgress.Payload) error
	SendAcknowledgement(acknowledgement *xgress.Acknowledgement) error
	SendControl(control *xgress.Control) error
	Inspect() map[string]interface{}
}

type Faulter added in v0.15.24

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

func NewFaulter added in v0.15.24

func NewFaulter(interval time.Duration, closeNotify chan struct{}) *Faulter

func (*Faulter) SetCtrl added in v0.15.24

func (self *Faulter) SetCtrl(ch channel.Channel)

type Forwarder

type Forwarder struct {
	Options     *Options
	CloseNotify <-chan struct{}
	// contains filtered or unexported fields
}

func NewForwarder

func NewForwarder(metricsRegistry metrics.UsageRegistry, faulter *Faulter, scanner *Scanner, options *Options, closeNotify <-chan struct{}) *Forwarder

func (*Forwarder) Debug

func (forwarder *Forwarder) Debug() string

func (*Forwarder) EndCircuit added in v0.16.92

func (forwarder *Forwarder) EndCircuit(circuitId string)

func (*Forwarder) ForwardAcknowledgement

func (forwarder *Forwarder) ForwardAcknowledgement(srcAddr xgress.Address, acknowledgement *xgress.Acknowledgement) error

func (*Forwarder) ForwardControl added in v0.16.114

func (forwarder *Forwarder) ForwardControl(srcAddr xgress.Address, control *xgress.Control) error

func (*Forwarder) ForwardPayload

func (forwarder *Forwarder) ForwardPayload(srcAddr xgress.Address, payload *xgress.Payload) error

func (*Forwarder) HasDestination

func (forwarder *Forwarder) HasDestination(address xgress.Address) bool

func (*Forwarder) InspectCircuit added in v0.17.78

func (forwarder *Forwarder) InspectCircuit(circuitId string) *CircuitReport

func (*Forwarder) MetricsRegistry

func (forwarder *Forwarder) MetricsRegistry() metrics.UsageRegistry

func (*Forwarder) RegisterDestination

func (forwarder *Forwarder) RegisterDestination(circuitId string, address xgress.Address, destination Destination)
func (forwarder *Forwarder) RegisterLink(link xlink.Xlink) error

func (*Forwarder) ReportForwardingFault added in v0.15.24

func (forwarder *Forwarder) ReportForwardingFault(circuitId string)

func (*Forwarder) Route

func (forwarder *Forwarder) Route(route *ctrl_pb.Route)

func (*Forwarder) TraceController

func (forwarder *Forwarder) TraceController() trace.Controller

func (*Forwarder) UnregisterDestinations

func (forwarder *Forwarder) UnregisterDestinations(circuitId string)
func (forwarder *Forwarder) UnregisterLink(link xlink.Xlink)

func (*Forwarder) Unroute

func (forwarder *Forwarder) Unroute(circuitId string, now bool)

type Options

type Options struct {
	LatencyProbeInterval     time.Duration
	LatencyProbeTimeout      time.Duration
	XgressCloseCheckInterval time.Duration
	XgressDialDwellTime      time.Duration
	FaultTxInterval          time.Duration
	IdleTxInterval           time.Duration
	IdleCircuitTimeout       time.Duration
	XgressDial               WorkerPoolOptions
	LinkDial                 WorkerPoolOptions
}

func DefaultOptions

func DefaultOptions() *Options

func LoadOptions

func LoadOptions(src map[interface{}]interface{}) (*Options, error)

type Scanner added in v0.16.26

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

func NewScanner added in v0.16.26

func NewScanner(options *Options, closeNotify <-chan struct{}) *Scanner

func (*Scanner) SetCtrl added in v0.16.26

func (self *Scanner) SetCtrl(ch channel.Channel)

type WorkerPoolOptions added in v0.11.59

type WorkerPoolOptions struct {
	QueueLength uint16
	WorkerCount uint16
}

type XgressDestination

type XgressDestination interface {
	Destination
	Unrouted()
	Start()
	IsTerminator() bool
	Label() string
	GetTimeOfLastRxFromLink() int64
}

Jump to

Keyboard shortcuts

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