syncer

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: May 25, 2022 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var WarnDalay = 4 * time.Second

Functions

This section is empty.

Types

type ComputationReporter

type ComputationReporter interface {
	// Bind ComputationReporter to a channel
	// you should push your ComputationReport into this channel
	Bind(chan<- *pb.ComputationReport)
}

ComputationReporter describe an abstract SFU that can report the Transmission quality

type Config

type Config config.Common

func (*Config) Load

func (c *Config) Load(file string) error

type ISGLBSyncer

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

ISGLBSyncer is a ISGLBClient to sync SFUStatus

func NewSFUStatusSyncer

func NewSFUStatusSyncer(node *ion.Node, peerID string, descSFU *pbion.Node, toolbox ToolBox) *ISGLBSyncer

func (*ISGLBSyncer) NotifySFUStatus

func (s *ISGLBSyncer) NotifySFUStatus()

func (*ISGLBSyncer) Start

func (s *ISGLBSyncer) Start()

func (*ISGLBSyncer) Stop

func (s *ISGLBSyncer) Stop()

type SessionEvent

type SessionEvent struct {
	Session *pb.ClientNeededSession
	State   SessionEvent_State
}

SessionEvent describe a event, user's join or leave

func (*SessionEvent) Clone

func (event *SessionEvent) Clone() *SessionEvent

type SessionEvent_State

type SessionEvent_State int32
const (
	SessionEvent_ADD    SessionEvent_State = 0
	SessionEvent_REMOVE SessionEvent_State = 1
)

type SessionTracker

type SessionTracker interface {
	// FetchSessionEvent fetch a SessionEvent
	// Block until return a new SessionEvent
	FetchSessionEvent() *SessionEvent
}

SessionTracker describe an abstract SFU that can report the user's join and leave

type StupidComputationReporter

type StupidComputationReporter struct {
	sync.Once
}

func (*StupidComputationReporter) Bind

type StupidSessionTracker

type StupidSessionTracker struct {
}

func (StupidSessionTracker) FetchSessionEvent

func (d StupidSessionTracker) FetchSessionEvent() *SessionEvent

type StupidTrackForwarder

type StupidTrackForwarder struct {
}

func (StupidTrackForwarder) ReplaceForwardTrack

func (t StupidTrackForwarder) ReplaceForwardTrack(oldTrackInfo *pb.ForwardTrack, newTrackInfo *pb.ForwardTrack)

func (StupidTrackForwarder) StartForwardTrack

func (t StupidTrackForwarder) StartForwardTrack(trackInfo *pb.ForwardTrack)

func (StupidTrackForwarder) StopForwardTrack

func (t StupidTrackForwarder) StopForwardTrack(trackInfo *pb.ForwardTrack)

type StupidTrackProcesser

type StupidTrackProcesser struct {
}

func (StupidTrackProcesser) ReplaceProceedTrack

func (t StupidTrackProcesser) ReplaceProceedTrack(oldTrackInfo *pb.ProceedTrack, newTrackInfo *pb.ProceedTrack)

func (StupidTrackProcesser) StartProceedTrack

func (t StupidTrackProcesser) StartProceedTrack(trackInfo *pb.ProceedTrack)

func (StupidTrackProcesser) StopProceedTrack

func (t StupidTrackProcesser) StopProceedTrack(trackInfo *pb.ProceedTrack)

type StupidTransmissionReporter

type StupidTransmissionReporter struct {
	sync.Once
}

func (*StupidTransmissionReporter) Bind

type ToolBox

type ToolBox struct {
	TrackForwarder       TrackForwarder
	TrackProcessor       TrackProcessor
	TransmissionReporter TransmissionReporter
	ComputationReporter  ComputationReporter
	SessionTracker       SessionTracker
}

type TrackForwarder

type TrackForwarder interface {

	// StartForwardTrack begin a track route
	StartForwardTrack(trackInfo *pb.ForwardTrack)
	// StopForwardTrack end a track route
	StopForwardTrack(trackInfo *pb.ForwardTrack)
	// ReplaceForwardTrack change a track route
	ReplaceForwardTrack(oldTrackInfo *pb.ForwardTrack, newTrackInfo *pb.ForwardTrack)
}

TrackForwarder describe an abstract SFU that can forward video tracks

type TrackProcessor

type TrackProcessor interface {

	// StartProceedTrack begin a track proceed
	StartProceedTrack(trackInfo *pb.ProceedTrack)
	// StopProceedTrack end a track proceed
	StopProceedTrack(trackInfo *pb.ProceedTrack)
	// ReplaceProceedTrack change a track proceed
	ReplaceProceedTrack(oldTrackInfo *pb.ProceedTrack, newTrackInfo *pb.ProceedTrack)
}

TrackProcessor describe an abstract SFU that can proceed video tracks

type TransmissionReporter

type TransmissionReporter interface {
	// Bind TransmissionReporter to a channel
	// you should push your TransmissionReport into this channel
	Bind(chan<- *pb.TransmissionReport)
}

TransmissionReporter describe an abstract SFU that can report the Transmission quality

Jump to

Keyboard shortcuts

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