forwarder

package
v0.16.41 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2021 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Destination

type Destination interface {
	SendPayload(payload *xgress.Payload) error
	SendAcknowledgement(acknowledgement *xgress.Acknowledgement) error
}

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 channel2.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) EndSession

func (forwarder *Forwarder) EndSession(sessionId string)

func (*Forwarder) ForwardAcknowledgement

func (forwarder *Forwarder) ForwardAcknowledgement(srcAddr xgress.Address, acknowledgement *xgress.Acknowledgement) 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) MetricsRegistry

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

func (*Forwarder) RegisterDestination

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

func (*Forwarder) ReportForwardingFault added in v0.15.24

func (forwarder *Forwarder) ReportForwardingFault(sessionId 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(sessionId string)
func (forwarder *Forwarder) UnregisterLink(link xlink.Xlink)

func (*Forwarder) Unroute

func (forwarder *Forwarder) Unroute(sessionId 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
	IdleSessionTimeout       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 channel2.Channel)

type WorkerPoolOptions added in v0.11.59

type WorkerPoolOptions struct {
	QueueLength uint16
	WorkerCount uint16
}

type XgressDestination

type XgressDestination interface {
	Destination
	Close()
	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