Help us shape the future of Go! Take the 2026 Go Developer Survey

model

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionState

type ConnectionState struct {
	// === Bot config ===
	Sender      bool
	Log         *log.Logger
	BOSHSender  httpxml.BOSHSender
	BotRandom   string
	Nickname    string
	LANServerIP string // e.g. "10.99.0.210"
	LANClientIP string // e.g. "10.99.0.219"

	// sender related fields
	SenderSSRC  *string
	SenderMSID  *string
	FrameSource ivf.FrameSource
	CameraPaths []string // IVF file paths for SVC probe

	// === Static config ===
	BoshURL    string // e.g. https://10.99.0.210/http-bind
	Domain     string // e.g. "10.99.0.210"
	RoomName   string // e.g. "asdf"
	MachineUID string // Unique ID for the client
	RID        int64  // Rolling BOSH request ID

	// === BOSH/XMPP session ===
	Sid           string // BOSH session ID
	AuthID        string // Auth ID from BOSH
	Jid           string // Full JID after bind
	Authenticated bool   // After SASL success
	Bound         bool   // After resource bind
	InRoom        bool   // After <presence>

	FocusJid string // Jicofo's JID

	// === ICE/STUN/TURN ===
	IceServers []ICEServer // Discovered via extdisco

	ICEUfrag    string // ICE username fragment
	ICEPwd      string // ICE password
	Fingerprint string // DTLS fingerprint

	Candidates []ICECandidate // ICE host/reflexive/relay candidates

	// === Jingle ===
	JingleSID string // Jingle session ID
	RemoteSDP string // Raw Jingle offer
	LocalSDP  string // Generated SDP

	// PendingBOSHResponse holds the raw response from the most recent BOSH
	// request (typically Step08's presence response) so that Step09 can
	// inspect it for stanzas (e.g. disco#info) that arrived before polling
	// began, rather than discarding them.
	PendingBOSHResponse string

	// === Optional ===
	ColibriWebSocketURL string // For optional low-level stats

	// === SSRCs ===
	Sources map[string][]uint32 // Example: map[mediaType][]SSRCs

	ForcedCandidateIP       string
	ForcedCandidatePort     int
	ForcedCandidatePriority int
}

ConnectionState is an object built by the signaling flow

type ICECandidate

type ICECandidate struct {
	Foundation string
	Component  int
	Protocol   string // udp, tcp
	Priority   uint32
	IP         string
	Port       int
	Type       string // host, srflx, relay
	Generation int
	ID         string // candidate ID
	Network    int
}

ICECandidate models one <candidate> from Jingle

type ICEServer

type ICEServer struct {
	Type       string // stun, turn, turns
	Transport  string // udp, tcp
	Host       string
	Port       int
	Username   string // for TURN
	Password   string // for TURN
	Expiry     string // expires ISO8601
	Restricted bool   // true if restricted TURN creds
}

ICEServer holds one STUN/TURN server entry

Jump to

Keyboard shortcuts

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