session

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2018 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package session monitors session health and maintains a concurrency-safe remote SIG address (that includes a working path) for each session.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PathPool

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

func NewPathPool

func NewPathPool(dst addr.IA) (*PathPool, error)

func (*PathPool) Destroy

func (pp *PathPool) Destroy() error

func (*PathPool) Paths

func (pp *PathPool) Paths() spathmeta.AppPathSet

type Session

type Session struct {
	log.Logger

	SessId mgmt.SessionType
	// contains filtered or unexported fields
}

Session contains a pool of paths to the remote AS, metrics about those paths, as well as maintaining the currently favoured path and remote SIG to use.

func NewSession

func NewSession(dstIA addr.IA, sessId mgmt.SessionType, sigMap *siginfo.SigMap, logger log.Logger,
	pool egress.PathPool, factory egress.WorkerFactory) (*Session, error)

func (*Session) AnnounceWorkerStopped

func (s *Session) AnnounceWorkerStopped()

func (*Session) Cleanup

func (s *Session) Cleanup() error

func (*Session) Conn

func (s *Session) Conn() *snet.Conn

func (*Session) Healthy

func (s *Session) Healthy() bool

func (*Session) IA

func (s *Session) IA() addr.IA

func (*Session) ID

func (s *Session) ID() mgmt.SessionType

func (*Session) PathPool

func (s *Session) PathPool() egress.PathPool

func (*Session) Remote

func (s *Session) Remote() *egress.RemoteInfo

func (*Session) Ring

func (s *Session) Ring() *ringbuf.Ring

func (*Session) Start

func (s *Session) Start()

Jump to

Keyboard shortcuts

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