manager

package
v0.3.5-rc2 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2023 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultSentEventInterval = time.Minute
)

Variables

This section is empty.

Functions

func NewPeerTrafficUpdateEventSender added in v0.3.5

func NewPeerTrafficUpdateEventSender(runtime *runtime.TunnelRuntime, eventLog eventlog.EventManager, peers []*types.PeerInfo) *peerTrafficUpdateEventSender

Types

type CachedStatistics

type CachedStatistics struct {
	// PeersTotal is a number of peers
	// being authorized to connect to this node
	PeersTotal int
	// PeersWithTraffic is a number of peers
	// being actually connected to this node
	PeersWithTraffic int
	// PeersActiveLastHour is number of peers
	// having any exchange during last hour
	PeersActiveLastHour int
	// PeersActiveLastDay is number of peers
	// having any exchange during last 24 hours
	PeersActiveLastDay int
	// Wireguard link statistic, may be nil
	LinkStat *netlink.LinkStatistics
	// Upstream traffic totally  (bytes)
	Upstream int64
	// Upstream speed totally (bytes per second)
	UpstreamSpeed int64
	// Downstream traffic totally (bytes)
	Downstream int64
	// Downstream speed totally (bytes per second)
	DownstreamSpeed int64

	// The time in seconds then statistics was collected
	Collected int64
}

func (*CachedStatistics) CalcSpeed added in v0.3.5

func (s *CachedStatistics) CalcSpeed(prevStats *CachedStatistics) *speedValue

type Manager

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

func New

func New(runtime *runtime.TunnelRuntime, storage *storage.Storage, wireguard *wireguard.Wireguard, ip4am *ipam.IPAM, eventLog eventlog.EventManager) (*Manager, error)

func (*Manager) ConnectPeer

func (manager *Manager) ConnectPeer(info *types.PeerInfo) error

func (*Manager) GetCachedStatistics

func (manager *Manager) GetCachedStatistics() *CachedStatistics

func (*Manager) GetPeer

func (manager *Manager) GetPeer(id int64) (*types.PeerInfo, error)

func (*Manager) GetRuntimePeerStat added in v0.3.5

func (manager *Manager) GetRuntimePeerStat(peer *types.PeerInfo) runtimePeerStat

func (*Manager) ListPeers

func (manager *Manager) ListPeers() ([]*types.PeerInfo, error)

func (*Manager) Running

func (manager *Manager) Running() bool

func (*Manager) SetPeer

func (manager *Manager) SetPeer(info *types.PeerInfo) error

func (*Manager) Shutdown

func (manager *Manager) Shutdown() error

func (*Manager) UnsetPeer

func (manager *Manager) UnsetPeer(id int64) error

func (*Manager) UnsetPeerByIdentifiers

func (manager *Manager) UnsetPeerByIdentifiers(identifiers *types.PeerIdentifiers) error

func (*Manager) UpdatePeer

func (manager *Manager) UpdatePeer(info *types.PeerInfo) error

func (*Manager) UpdatePeerExpiration

func (manager *Manager) UpdatePeerExpiration(identifiers *types.PeerIdentifiers, expires *time.Time) error

Jump to

Keyboard shortcuts

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