session

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2020 License: Apache-2.0 Imports: 22 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 {
	SessId sig_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 sig_mgmt.SessionType, logger log.Logger,
	pool iface.PathPool) (*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() sig_mgmt.SessionType

func (*Session) Logger added in v0.5.0

func (s *Session) Logger() log.Logger

func (*Session) PathPool

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

func (*Session) Remote

func (s *Session) Remote() *iface.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