rtc

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2022 License: Apache-2.0 Imports: 22 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Message

type Message struct {
	GroupID   string      `msgpack:"group_id"`
	UserID    string      `msgpack:"user_id"`
	SessionID string      `msgpack:"session_id"`
	Type      MessageType `msgpack:"type"`
	Data      []byte      `msgpack:"data,omitempty"`
}

func (*Message) IsValid

func (m *Message) IsValid() error

type MessageType

type MessageType int
const (
	ICEMessage MessageType = iota + 1
	SDPMessage
	MuteMessage
	UnmuteMessage
	ScreenOnMessage
	ScreenOffMessage
)

type Metrics

type Metrics interface {
	IncRTCSessions(groupID string, callID string)
	DecRTCSessions(groupID string, callID string)
	IncRTCConnState(state string)
	IncRTPPackets(direction, trackType string)
	AddRTPPacketBytes(direction, trackType string, value int)
	IncRTCErrors(groupID string, errType string)
}

type Server

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

func NewServer

func NewServer(cfg ServerConfig, log mlog.LoggerIFace, metrics Metrics) (*Server, error)

func (*Server) CloseSession

func (s *Server) CloseSession(sessionID string) error

func (*Server) InitSession

func (s *Server) InitSession(cfg SessionConfig, closeCb func() error) error

func (*Server) ReceiveCh

func (s *Server) ReceiveCh() <-chan Message

func (*Server) Send

func (s *Server) Send(msg Message) error

func (*Server) Start

func (s *Server) Start() error

func (*Server) Stop

func (s *Server) Stop() error

type ServerConfig

type ServerConfig struct {
	// ICEPortUDP specifies the UDP port the RTC service should listen to.
	ICEPortUDP int `toml:"ice_port_udp"`
	// ICEHostOverride optionally specifies an IP address (or hostname)
	// to be used as the main host ICE candidate.
	ICEHostOverride string `toml:"ice_host_override"`
	// A comma separated list of ICE servers URLs (STUN/TURN) to use.
	ICEServers []string `toml:"ice_servers"`
}

func (ServerConfig) IsValid

func (c ServerConfig) IsValid() error

type SessionConfig

type SessionConfig struct {
	// GroupID specifies the id of the group the session should belong to.
	GroupID string
	// CallID specifies the id of the call the session should belong to.
	CallID string
	// UserID specifies the id of the user the session belongs to.
	UserID string
	// SessionID specifies the unique identifier for the session.
	SessionID string
}

func (SessionConfig) IsValid

func (c SessionConfig) IsValid() error

Jump to

Keyboard shortcuts

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