Обработка пакетов SDP от клиента
This commit is contained in:
20
sfu/rooms.go
20
sfu/rooms.go
@@ -1,18 +1,14 @@
|
||||
package sfu
|
||||
|
||||
import (
|
||||
"g365sfu/socket"
|
||||
connection "g365sfu/socket/struct"
|
||||
"g365sfu/utils"
|
||||
"sync"
|
||||
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
// Общие переменные
|
||||
var (
|
||||
rooms = make(map[string]*Room)
|
||||
roomsMu sync.RWMutex
|
||||
)
|
||||
// Структуры для управления комнатами и пирами в SFU
|
||||
|
||||
type Peer struct {
|
||||
//Идентификатор пира, который будет использоваться для связи с ним
|
||||
@@ -25,20 +21,26 @@ type Room struct {
|
||||
//Уникальный идентификатор комнаты
|
||||
RoomID string
|
||||
//Сервер который создал комнату
|
||||
Server []*socket.Connection
|
||||
Server *connection.Connection
|
||||
//Пиры которые подключились к комнате
|
||||
Peers []Peer
|
||||
}
|
||||
|
||||
// Общие переменные
|
||||
var (
|
||||
rooms = make(map[string]*Room)
|
||||
roomsMu sync.RWMutex
|
||||
)
|
||||
|
||||
// CreateRoom создает комнату
|
||||
func CreateRoom() (*Room, error) {
|
||||
func CreateRoom(server *connection.Connection) (*Room, error) {
|
||||
roomID := "room_" + utils.RandomString(64)
|
||||
roomsMu.Lock()
|
||||
defer roomsMu.Unlock()
|
||||
|
||||
room := &Room{
|
||||
RoomID: roomID,
|
||||
Server: []*socket.Connection{},
|
||||
Server: server,
|
||||
Peers: []Peer{},
|
||||
}
|
||||
rooms[roomID] = room
|
||||
|
||||
Reference in New Issue
Block a user