peer

package
v0.0.0-...-a7f6a6d Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AlreadyStartedError = errors.New("tunnel already started")

Functions

This section is empty.

Types

type Peer

type Peer struct {
	Id                string
	AllowedLocalPorts []int
	AllowedAll        bool
	// contains filtered or unexported fields
}

func NewTunnel

func NewTunnel(parentCtx context.Context, id string, stunServers []string, listener WebRTCListener) *Peer

func (*Peer) AddICECandidate

func (p *Peer) AddICECandidate(candidateStr string) error

func (*Peer) Close

func (p *Peer) Close() error

func (*Peer) RecvMessage

func (p *Peer) RecvMessage(msg webrtc.DataChannelMessage)

func (*Peer) SendMessage

func (p *Peer) SendMessage(msg proxymsg.ProxyMessage) error

func (*Peer) SetRemoteDescription

func (p *Peer) SetRemoteDescription(descrStr string) error

func (*Peer) SetStateListener

func (p *Peer) SetStateListener(listener StateListener)

func (*Peer) Start

func (p *Peer) Start(descrStr string) (err error)

type PeersContainer

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

func NewAllowedPeers

func NewAllowedPeers() *PeersContainer

func (*PeersContainer) Add

func (a *PeersContainer) Add(id string, peer *Peer)

func (*PeersContainer) Get

func (a *PeersContainer) Get(id string) *Peer

func (*PeersContainer) Remove

func (a *PeersContainer) Remove(id string)

type ProxyMessageReceiver

type ProxyMessageReceiver interface {
	RecvMessage(msg proxymsg.ProxyMessage) error
}

type StateListener

type StateListener interface {
	OnICEConnectionStateChange(p *Peer, state webrtc.ICEConnectionState)
	OnDataChannel(p *Peer, channel *webrtc.DataChannel)
}

type WebRTCListener

type WebRTCListener interface {
	OnICECandidate(p *Peer, candidate *webrtc.ICECandidate)
	OnLocalDescription(p *Peer, sdp webrtc.SessionDescription)
	OnConnected(p *Peer)
}

Jump to

Keyboard shortcuts

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