mirror of
https://github.com/livekit/livekit.git
synced 2026-08-28 00:44:12 +00:00
switch to websockets, remove grpc dependency
This commit is contained in:
@@ -31,10 +31,8 @@ proto: protoc protoc-gen-go twirp-gen
|
||||
--plugin=$(PROTOC_GEN_GO) \
|
||||
-I=proto \
|
||||
proto/room.proto proto/model.proto ;\
|
||||
protoc --go_out=$(GO_TARGET) --go-grpc_out=$(GO_TARGET) \
|
||||
protoc --go_out=$(GO_TARGET) \
|
||||
--go_opt=paths=source_relative \
|
||||
--go-grpc_opt=paths=source_relative \
|
||||
--plugin=$(PROTOC_GEN_GO) \
|
||||
-I=proto \
|
||||
proto/rtc.proto ;\
|
||||
}
|
||||
@@ -45,10 +43,10 @@ ifeq (, $(shell which protoc))
|
||||
endif
|
||||
|
||||
protoc-gen-go:
|
||||
ifeq (, $(shell which protoc-gen-go-grpc))
|
||||
ifeq (, $(shell which protoc-gen-go))
|
||||
@{ \
|
||||
echo "installing go protobuf plugin" ;\
|
||||
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc ;\
|
||||
go install google.golang.org/protobuf/cmd/protoc-gen-go ;\
|
||||
}
|
||||
endif
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package main
|
||||
|
||||
// command line util that tests server
|
||||
+11
-9
@@ -14,7 +14,6 @@ import (
|
||||
|
||||
"github.com/urfave/cli/v2"
|
||||
"github.com/urfave/negroni"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/livekit/livekit-server/pkg/config"
|
||||
"github.com/livekit/livekit-server/pkg/logger"
|
||||
@@ -40,7 +39,7 @@ func main() {
|
||||
}
|
||||
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
logger.GetLogger().Fatal(err)
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,9 +77,9 @@ func startServer(c *cli.Context) error {
|
||||
type LivekitServer struct {
|
||||
config *config.Config
|
||||
roomServer livekit.TwirpServer
|
||||
rtcServer livekit.RTCServiceServer
|
||||
rtcService *service.RTCService
|
||||
roomHttp *http.Server
|
||||
rtcGrpc *grpc.Server
|
||||
rtcHttp *http.Server
|
||||
running bool
|
||||
doneChan chan bool
|
||||
}
|
||||
@@ -91,7 +90,7 @@ func NewLivekitServer(conf *config.Config,
|
||||
s = &LivekitServer{
|
||||
config: conf,
|
||||
roomServer: livekit.NewRoomServiceServer(roomService),
|
||||
rtcServer: rtcService,
|
||||
rtcService: rtcService,
|
||||
}
|
||||
|
||||
roomHandler := configureMiddlewares(conf, s.roomServer)
|
||||
@@ -100,8 +99,11 @@ func NewLivekitServer(conf *config.Config,
|
||||
Handler: roomHandler,
|
||||
}
|
||||
|
||||
s.rtcGrpc = grpc.NewServer()
|
||||
livekit.RegisterRTCServiceServer(s.rtcGrpc, s.rtcServer)
|
||||
rtcHandler := configureMiddlewares(conf, rtcService)
|
||||
s.rtcHttp = &http.Server{
|
||||
Addr: fmt.Sprintf(":%d", conf.RTCPort),
|
||||
Handler: rtcHandler,
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
@@ -131,7 +133,7 @@ func (s *LivekitServer) Start() error {
|
||||
}()
|
||||
go func() {
|
||||
logger.GetLogger().Infow("starting RTC service", "address", rtcAddr)
|
||||
s.rtcGrpc.Serve(rtcLn)
|
||||
s.rtcHttp.Serve(rtcLn)
|
||||
}()
|
||||
|
||||
<-s.doneChan
|
||||
@@ -142,7 +144,7 @@ func (s *LivekitServer) Start() error {
|
||||
wg.Add(2)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
s.rtcGrpc.GracefulStop()
|
||||
s.rtcHttp.Shutdown(ctx)
|
||||
}()
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
||||
@@ -26,7 +26,7 @@ func InitializeServer(conf *config.Config) (*LivekitServer, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
rtcService := service.NewRTCService(roomManager)
|
||||
rtcService := service.NewRTCService(conf, roomManager)
|
||||
livekitServer, err := NewLivekitServer(conf, roomService, rtcService)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -7,6 +7,7 @@ require (
|
||||
github.com/golang/protobuf v1.4.3
|
||||
github.com/google/uuid v1.1.2
|
||||
github.com/google/wire v0.4.0
|
||||
github.com/gorilla/websocket v1.4.2
|
||||
github.com/pion/ion-sfu v1.0.27
|
||||
github.com/pion/rtcp v1.2.4
|
||||
github.com/pion/rtp v1.6.1
|
||||
@@ -18,6 +19,6 @@ require (
|
||||
github.com/urfave/cli/v2 v2.2.0
|
||||
github.com/urfave/negroni v1.0.0
|
||||
go.uber.org/zap v1.16.0
|
||||
google.golang.org/grpc v1.33.1
|
||||
google.golang.org/protobuf v1.25.0
|
||||
gopkg.in/yaml.v2 v2.3.0
|
||||
)
|
||||
|
||||
@@ -126,6 +126,7 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||
@@ -543,8 +544,6 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.33.1 h1:DGeFlSan2f+WEtCERJ4J9GJWk15TxUi8QGagfI87Xyc=
|
||||
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
||||
+4
-4
@@ -14,7 +14,7 @@ type RoomManager struct {
|
||||
config WebRTCConfig
|
||||
|
||||
rooms map[string]*Room
|
||||
roomLock sync.Mutex
|
||||
roomLock sync.RWMutex
|
||||
}
|
||||
|
||||
func NewRoomManager(rtcConf config.RTCConfig, externalIP string) (m *RoomManager, err error) {
|
||||
@@ -22,7 +22,7 @@ func NewRoomManager(rtcConf config.RTCConfig, externalIP string) (m *RoomManager
|
||||
rtcConf: rtcConf,
|
||||
externalIP: externalIP,
|
||||
rooms: make(map[string]*Room),
|
||||
roomLock: sync.Mutex{},
|
||||
roomLock: sync.RWMutex{},
|
||||
}
|
||||
|
||||
wc, err := NewWebRTCConfig(&rtcConf, externalIP)
|
||||
@@ -34,8 +34,8 @@ func NewRoomManager(rtcConf config.RTCConfig, externalIP string) (m *RoomManager
|
||||
}
|
||||
|
||||
func (m *RoomManager) GetRoom(roomId string) *Room {
|
||||
m.roomLock.Lock()
|
||||
defer m.roomLock.Unlock()
|
||||
m.roomLock.RLock()
|
||||
defer m.roomLock.RUnlock()
|
||||
return m.rooms[roomId]
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -52,9 +52,7 @@ func (r *Room) ToRoomInfo(node *livekit.Node) *livekit.RoomInfo {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Room) Join(peerId string, token string, sdp string) (peer *WebRTCPeer, err error) {
|
||||
// TODO: check token and reject
|
||||
|
||||
func (r *Room) Join(peerId string, sdp string) (peer *WebRTCPeer, err error) {
|
||||
r.lock.Lock()
|
||||
defer r.lock.Unlock()
|
||||
|
||||
|
||||
+114
-58
@@ -2,96 +2,127 @@ package service
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/livekit/livekit-server/pkg/config"
|
||||
"github.com/livekit/livekit-server/pkg/logger"
|
||||
"github.com/livekit/livekit-server/pkg/rtc"
|
||||
"github.com/livekit/livekit-server/proto/livekit"
|
||||
)
|
||||
|
||||
type RTCService struct {
|
||||
livekit.UnimplementedRTCServiceServer
|
||||
manager *rtc.RoomManager
|
||||
manager *rtc.RoomManager
|
||||
upgrader websocket.Upgrader
|
||||
}
|
||||
|
||||
func NewRTCService(manager *rtc.RoomManager) *RTCService {
|
||||
return &RTCService{
|
||||
manager: manager,
|
||||
func NewRTCService(conf *config.Config, manager *rtc.RoomManager) *RTCService {
|
||||
s := &RTCService{
|
||||
manager: manager,
|
||||
upgrader: websocket.Upgrader{},
|
||||
}
|
||||
|
||||
if conf.Development {
|
||||
s.upgrader.CheckOrigin = func(r *http.Request) bool {
|
||||
// allow all in dev
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
// each client establishes a persistent signaling connection to the server
|
||||
// when the connection is terminated, WebRTC session shall end
|
||||
// similarly, when WebRTC connection is disconnected, we'll terminate signaling
|
||||
func (s *RTCService) Signal(stream livekit.RTCService_SignalServer) error {
|
||||
func (s *RTCService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
roomId := r.FormValue("room_id")
|
||||
token := r.FormValue("token")
|
||||
peerId := r.FormValue("peer_id")
|
||||
|
||||
logger.GetLogger().Infow("new client connected",
|
||||
"roomId", roomId,
|
||||
"peerId", peerId,
|
||||
)
|
||||
|
||||
room := s.manager.GetRoom(roomId)
|
||||
if room == nil {
|
||||
writeJSONError(w, http.StatusNotFound, "room not found")
|
||||
return
|
||||
}
|
||||
|
||||
if room.Token != token {
|
||||
writeJSONError(w, http.StatusUnauthorized, "invalid room token")
|
||||
return
|
||||
}
|
||||
|
||||
conn, err := s.upgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
logger.GetLogger().Warnw("could not upgrade to WS",
|
||||
"err", err,
|
||||
)
|
||||
}
|
||||
|
||||
signalConn := NewWSSignalConnection(conn, peerId)
|
||||
var peer *rtc.WebRTCPeer
|
||||
|
||||
// read connection and wait for commands
|
||||
|
||||
// TODO: pass in context from WS, so termination of WS would disconnect RTC
|
||||
//ctx := context.Background()
|
||||
for {
|
||||
req, err := stream.Recv()
|
||||
req, err := signalConn.ReadRequest()
|
||||
if err != nil {
|
||||
if peer != nil {
|
||||
peer.Close()
|
||||
|
||||
if err == io.EOF {
|
||||
return nil
|
||||
}
|
||||
|
||||
errStatus, _ := status.FromError(err)
|
||||
if errStatus.Code() == codes.Canceled {
|
||||
return nil
|
||||
}
|
||||
|
||||
logger.GetLogger().Errorf("signaling error", errStatus.Message(), errStatus.Code())
|
||||
return err
|
||||
}
|
||||
logger.GetLogger().Errorw("error reading WS",
|
||||
"err", err,
|
||||
"peerId", peerId,
|
||||
"roomId", roomId)
|
||||
}
|
||||
|
||||
switch msg := req.Message.(type) {
|
||||
case *livekit.SignalRequest_Join:
|
||||
peer, err = s.handleJoin(stream, msg.Join)
|
||||
case *livekit.SignalRequest_Offer:
|
||||
peer, err = s.handleJoin(signalConn, room, msg.Offer.Sdp)
|
||||
case *livekit.SignalRequest_Negotiate:
|
||||
if peer == nil {
|
||||
return status.Errorf(codes.FailedPrecondition, "peer has not joined yet")
|
||||
conn.WriteJSON(jsonError(http.StatusNotAcceptable, "cannot negotiate before peer offer"))
|
||||
return
|
||||
}
|
||||
err = s.handleNegotiate(stream, peer, *msg.Negotiate)
|
||||
err = s.handleNegotiate(signalConn, peer, msg.Negotiate)
|
||||
if err != nil {
|
||||
return status.Errorf(codes.Internal, "could not handle megptoate: %v", err)
|
||||
conn.WriteJSON(
|
||||
jsonError(http.StatusInternalServerError, "could not handle negotiate", err.Error()))
|
||||
return
|
||||
}
|
||||
case *livekit.SignalRequest_Trickle:
|
||||
if peer != nil {
|
||||
return status.Errorf(codes.FailedPrecondition, "peer has not joined yet")
|
||||
conn.WriteJSON(jsonError(http.StatusNotAcceptable, "cannot trickle before peer offer"))
|
||||
return
|
||||
}
|
||||
|
||||
err = s.handleTrickle(peer, msg.Trickle)
|
||||
if err != nil {
|
||||
return status.Errorf(codes.Internal, "could not handle trickle: %v", err)
|
||||
conn.WriteJSON(
|
||||
jsonError(http.StatusInternalServerError, "could not handle trickle", err.Error()))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *RTCService) handleJoin(stream livekit.RTCService_SignalServer, join *livekit.JoinRequest) (*rtc.WebRTCPeer, error) {
|
||||
// join a room
|
||||
room := s.manager.GetRoom(join.RoomId)
|
||||
if room == nil {
|
||||
return nil, status.Errorf(codes.NotFound, "room %s doesn't exist", join.RoomId)
|
||||
}
|
||||
peer, err := room.Join(join.PeerId, join.Token, join.Offer.Sdp)
|
||||
func (s *RTCService) handleJoin(sc SignalConnection, room *rtc.Room, sdp string) (*rtc.WebRTCPeer, error) {
|
||||
peer, err := room.Join(sc.PeerId(), sdp)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "could not join room: %v", err)
|
||||
return nil, errors.Wrap(err, "could not join room")
|
||||
}
|
||||
|
||||
offer := webrtc.SessionDescription{
|
||||
Type: webrtc.SDPTypeOffer,
|
||||
SDP: string(join.Offer.Sdp),
|
||||
SDP: sdp,
|
||||
}
|
||||
answer, err := peer.Answer(offer)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "could not answer offer: %v", err)
|
||||
return nil, errors.Wrap(err, "could not answer offer")
|
||||
}
|
||||
|
||||
// TODO: it might be better to return error instead of nil
|
||||
@@ -102,7 +133,7 @@ func (s *RTCService) handleJoin(stream livekit.RTCService_SignalServer, join *li
|
||||
return
|
||||
}
|
||||
|
||||
err = stream.Send(&livekit.SignalResponse{
|
||||
err = sc.WriteResponse(&livekit.SignalResponse{
|
||||
Message: &livekit.SignalResponse_Trickle{
|
||||
Trickle: &livekit.Trickle{
|
||||
CandidateInit: string(bytes),
|
||||
@@ -116,7 +147,7 @@ func (s *RTCService) handleJoin(stream livekit.RTCService_SignalServer, join *li
|
||||
|
||||
// send peer new offer
|
||||
peer.OnOffer = func(o webrtc.SessionDescription) {
|
||||
err := stream.Send(&livekit.SignalResponse{
|
||||
err := sc.WriteResponse(&livekit.SignalResponse{
|
||||
Message: &livekit.SignalResponse_Negotiate{
|
||||
Negotiate: ToProtoSessionDescription(o),
|
||||
},
|
||||
@@ -128,30 +159,28 @@ func (s *RTCService) handleJoin(stream livekit.RTCService_SignalServer, join *li
|
||||
}
|
||||
|
||||
// finally send answer
|
||||
err = stream.Send(&livekit.SignalResponse{
|
||||
Message: &livekit.SignalResponse_Join{
|
||||
Join: &livekit.JoinResponse{
|
||||
Answer: ToProtoSessionDescription(answer),
|
||||
},
|
||||
err = sc.WriteResponse(&livekit.SignalResponse{
|
||||
Message: &livekit.SignalResponse_Answer{
|
||||
Answer: ToProtoSessionDescription(answer),
|
||||
},
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "could not join: %v", err)
|
||||
return nil, errors.Wrap(err, "could not join")
|
||||
}
|
||||
|
||||
return peer, nil
|
||||
}
|
||||
|
||||
func (s *RTCService) handleNegotiate(stream livekit.RTCService_SignalServer, peer *rtc.WebRTCPeer, neg livekit.SessionDescription) error {
|
||||
func (s *RTCService) handleNegotiate(sc SignalConnection, peer *rtc.WebRTCPeer, neg *livekit.SessionDescription) error {
|
||||
if neg.Type == webrtc.SDPTypeOffer.String() {
|
||||
offer := FromProtoSessionDescription(&neg)
|
||||
offer := FromProtoSessionDescription(neg)
|
||||
answer, err := peer.Answer(offer)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = stream.Send(&livekit.SignalResponse{
|
||||
err = sc.WriteResponse(&livekit.SignalResponse{
|
||||
Message: &livekit.SignalResponse_Negotiate{
|
||||
Negotiate: ToProtoSessionDescription(answer),
|
||||
},
|
||||
@@ -161,7 +190,7 @@ func (s *RTCService) handleNegotiate(stream livekit.RTCService_SignalServer, pee
|
||||
return err
|
||||
}
|
||||
} else if neg.Type == webrtc.SDPTypeAnswer.String() {
|
||||
answer := FromProtoSessionDescription(&neg)
|
||||
answer := FromProtoSessionDescription(neg)
|
||||
err := peer.SetRemoteDescription(answer)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -184,3 +213,30 @@ func (s *RTCService) handleTrickle(peer *rtc.WebRTCPeer, trickle *livekit.Trickl
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type errStruct struct {
|
||||
StatusCode int `json:"statusCode"`
|
||||
Error string `json:"error"`
|
||||
Message string `json:"message,omitempty"`
|
||||
}
|
||||
|
||||
func writeJSONError(w http.ResponseWriter, code int, error ...string) {
|
||||
w.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
w.WriteHeader(code)
|
||||
|
||||
json.NewEncoder(w).Encode(jsonError(code, error...))
|
||||
}
|
||||
|
||||
func jsonError(code int, error ...string) errStruct {
|
||||
es := errStruct{
|
||||
StatusCode: code,
|
||||
}
|
||||
if len(error) > 0 {
|
||||
es.Error = error[0]
|
||||
}
|
||||
if len(error) > 1 {
|
||||
es.Message = error[1]
|
||||
}
|
||||
return es
|
||||
}
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"github.com/gorilla/websocket"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"github.com/livekit/livekit-server/proto/livekit"
|
||||
)
|
||||
|
||||
type SignalConnection interface {
|
||||
PeerId() string
|
||||
ReadRequest() (*livekit.SignalRequest, error)
|
||||
WriteResponse(*livekit.SignalResponse) error
|
||||
}
|
||||
|
||||
type WSSignalConnection struct {
|
||||
peerId string
|
||||
conn *websocket.Conn
|
||||
useJSON bool
|
||||
}
|
||||
|
||||
func NewWSSignalConnection(conn *websocket.Conn, peerId string) *WSSignalConnection {
|
||||
return &WSSignalConnection{
|
||||
peerId: peerId,
|
||||
conn: conn,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *WSSignalConnection) PeerId() string {
|
||||
return c.peerId
|
||||
}
|
||||
|
||||
func (c *WSSignalConnection) ReadRequest() (*livekit.SignalRequest, error) {
|
||||
for {
|
||||
// handle special messages and pass on the rest
|
||||
messageType, payload, err := c.conn.ReadMessage()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
msg := &livekit.SignalRequest{}
|
||||
switch messageType {
|
||||
case websocket.PingMessage:
|
||||
c.conn.WriteMessage(websocket.PongMessage, nil)
|
||||
continue
|
||||
case websocket.BinaryMessage:
|
||||
// protobuf encoded
|
||||
err := proto.Unmarshal(payload, msg)
|
||||
return msg, err
|
||||
case websocket.TextMessage:
|
||||
// json encoded, also write back JSON
|
||||
c.useJSON = true
|
||||
err := protojson.Unmarshal(payload, msg)
|
||||
return msg, err
|
||||
default:
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *WSSignalConnection) WriteResponse(msg *livekit.SignalResponse) error {
|
||||
var msgType int
|
||||
var payload []byte
|
||||
var err error
|
||||
|
||||
if c.useJSON {
|
||||
payload, err = protojson.Marshal(msg)
|
||||
} else {
|
||||
payload, err = proto.Marshal(msg)
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.conn.WriteMessage(msgType, payload)
|
||||
}
|
||||
+335
-193
@@ -1,284 +1,426 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.13.0
|
||||
// source: model.proto
|
||||
|
||||
package livekit
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
math "math"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
type Node struct {
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
|
||||
RtcPort uint32 `protobuf:"varint,3,opt,name=rtc_port,json=rtcPort,proto3" json:"rtc_port,omitempty"`
|
||||
Stats *NodeStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
|
||||
RtcPort uint32 `protobuf:"varint,3,opt,name=rtc_port,json=rtcPort,proto3" json:"rtc_port,omitempty"`
|
||||
Stats *NodeStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Node) Reset() { *m = Node{} }
|
||||
func (m *Node) String() string { return proto.CompactTextString(m) }
|
||||
func (*Node) ProtoMessage() {}
|
||||
func (x *Node) Reset() {
|
||||
*x = Node{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_model_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Node) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Node) ProtoMessage() {}
|
||||
|
||||
func (x *Node) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_model_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Node.ProtoReflect.Descriptor instead.
|
||||
func (*Node) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_4c16552f9fdb66d8, []int{0}
|
||||
return file_model_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (m *Node) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_Node.Unmarshal(m, b)
|
||||
}
|
||||
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_Node.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *Node) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_Node.Merge(m, src)
|
||||
}
|
||||
func (m *Node) XXX_Size() int {
|
||||
return xxx_messageInfo_Node.Size(m)
|
||||
}
|
||||
func (m *Node) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_Node.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_Node proto.InternalMessageInfo
|
||||
|
||||
func (m *Node) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
func (x *Node) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Node) GetIp() string {
|
||||
if m != nil {
|
||||
return m.Ip
|
||||
func (x *Node) GetIp() string {
|
||||
if x != nil {
|
||||
return x.Ip
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Node) GetRtcPort() uint32 {
|
||||
if m != nil {
|
||||
return m.RtcPort
|
||||
func (x *Node) GetRtcPort() uint32 {
|
||||
if x != nil {
|
||||
return x.RtcPort
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *Node) GetStats() *NodeStats {
|
||||
if m != nil {
|
||||
return m.Stats
|
||||
func (x *Node) GetStats() *NodeStats {
|
||||
if x != nil {
|
||||
return x.Stats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NodeStats struct {
|
||||
NumRooms int32 `protobuf:"varint,1,opt,name=num_rooms,json=numRooms,proto3" json:"num_rooms,omitempty"`
|
||||
NumClients int32 `protobuf:"varint,2,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NumRooms int32 `protobuf:"varint,1,opt,name=num_rooms,json=numRooms,proto3" json:"num_rooms,omitempty"`
|
||||
NumClients int32 `protobuf:"varint,2,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"`
|
||||
}
|
||||
|
||||
func (m *NodeStats) Reset() { *m = NodeStats{} }
|
||||
func (m *NodeStats) String() string { return proto.CompactTextString(m) }
|
||||
func (*NodeStats) ProtoMessage() {}
|
||||
func (x *NodeStats) Reset() {
|
||||
*x = NodeStats{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_model_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NodeStats) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NodeStats) ProtoMessage() {}
|
||||
|
||||
func (x *NodeStats) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_model_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use NodeStats.ProtoReflect.Descriptor instead.
|
||||
func (*NodeStats) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_4c16552f9fdb66d8, []int{1}
|
||||
return file_model_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (m *NodeStats) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_NodeStats.Unmarshal(m, b)
|
||||
}
|
||||
func (m *NodeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_NodeStats.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *NodeStats) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_NodeStats.Merge(m, src)
|
||||
}
|
||||
func (m *NodeStats) XXX_Size() int {
|
||||
return xxx_messageInfo_NodeStats.Size(m)
|
||||
}
|
||||
func (m *NodeStats) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_NodeStats.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_NodeStats proto.InternalMessageInfo
|
||||
|
||||
func (m *NodeStats) GetNumRooms() int32 {
|
||||
if m != nil {
|
||||
return m.NumRooms
|
||||
func (x *NodeStats) GetNumRooms() int32 {
|
||||
if x != nil {
|
||||
return x.NumRooms
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *NodeStats) GetNumClients() int32 {
|
||||
if m != nil {
|
||||
return m.NumClients
|
||||
func (x *NodeStats) GetNumClients() int32 {
|
||||
if x != nil {
|
||||
return x.NumClients
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Room struct {
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"`
|
||||
MaxParticipants uint32 `protobuf:"varint,3,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"`
|
||||
CreationTime int64 `protobuf:"varint,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"`
|
||||
MaxParticipants uint32 `protobuf:"varint,3,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"`
|
||||
CreationTime int64 `protobuf:"varint,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Room) Reset() { *m = Room{} }
|
||||
func (m *Room) String() string { return proto.CompactTextString(m) }
|
||||
func (*Room) ProtoMessage() {}
|
||||
func (x *Room) Reset() {
|
||||
*x = Room{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_model_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Room) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Room) ProtoMessage() {}
|
||||
|
||||
func (x *Room) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_model_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Room.ProtoReflect.Descriptor instead.
|
||||
func (*Room) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_4c16552f9fdb66d8, []int{2}
|
||||
return file_model_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (m *Room) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_Room.Unmarshal(m, b)
|
||||
}
|
||||
func (m *Room) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_Room.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *Room) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_Room.Merge(m, src)
|
||||
}
|
||||
func (m *Room) XXX_Size() int {
|
||||
return xxx_messageInfo_Room.Size(m)
|
||||
}
|
||||
func (m *Room) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_Room.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_Room proto.InternalMessageInfo
|
||||
|
||||
func (m *Room) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
func (x *Room) GetRoomId() string {
|
||||
if x != nil {
|
||||
return x.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Room) GetEmptyTimeout() uint32 {
|
||||
if m != nil {
|
||||
return m.EmptyTimeout
|
||||
func (x *Room) GetEmptyTimeout() uint32 {
|
||||
if x != nil {
|
||||
return x.EmptyTimeout
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *Room) GetMaxParticipants() uint32 {
|
||||
if m != nil {
|
||||
return m.MaxParticipants
|
||||
func (x *Room) GetMaxParticipants() uint32 {
|
||||
if x != nil {
|
||||
return x.MaxParticipants
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *Room) GetCreationTime() int64 {
|
||||
if m != nil {
|
||||
return m.CreationTime
|
||||
func (x *Room) GetCreationTime() int64 {
|
||||
if x != nil {
|
||||
return x.CreationTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *Room) GetToken() string {
|
||||
if m != nil {
|
||||
return m.Token
|
||||
func (x *Room) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DataChannel struct {
|
||||
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
|
||||
}
|
||||
|
||||
func (m *DataChannel) Reset() { *m = DataChannel{} }
|
||||
func (m *DataChannel) String() string { return proto.CompactTextString(m) }
|
||||
func (*DataChannel) ProtoMessage() {}
|
||||
func (x *DataChannel) Reset() {
|
||||
*x = DataChannel{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_model_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DataChannel) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DataChannel) ProtoMessage() {}
|
||||
|
||||
func (x *DataChannel) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_model_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DataChannel.ProtoReflect.Descriptor instead.
|
||||
func (*DataChannel) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_4c16552f9fdb66d8, []int{3}
|
||||
return file_model_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (m *DataChannel) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DataChannel.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DataChannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DataChannel.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DataChannel) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DataChannel.Merge(m, src)
|
||||
}
|
||||
func (m *DataChannel) XXX_Size() int {
|
||||
return xxx_messageInfo_DataChannel.Size(m)
|
||||
}
|
||||
func (m *DataChannel) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DataChannel.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DataChannel proto.InternalMessageInfo
|
||||
|
||||
func (m *DataChannel) GetSessionId() string {
|
||||
if m != nil {
|
||||
return m.SessionId
|
||||
func (x *DataChannel) GetSessionId() string {
|
||||
if x != nil {
|
||||
return x.SessionId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DataChannel) GetPayload() []byte {
|
||||
if m != nil {
|
||||
return m.Payload
|
||||
func (x *DataChannel) GetPayload() []byte {
|
||||
if x != nil {
|
||||
return x.Payload
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*Node)(nil), "livekit.Node")
|
||||
proto.RegisterType((*NodeStats)(nil), "livekit.NodeStats")
|
||||
proto.RegisterType((*Room)(nil), "livekit.Room")
|
||||
proto.RegisterType((*DataChannel)(nil), "livekit.DataChannel")
|
||||
var File_model_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_model_proto_rawDesc = []byte{
|
||||
0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x22, 0x6b, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x19,
|
||||
0x0a, 0x08, 0x72, 0x74, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x07, 0x72, 0x74, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xaa,
|
||||
0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
|
||||
0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
||||
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72,
|
||||
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73,
|
||||
0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x0b, 0x44,
|
||||
0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65,
|
||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c,
|
||||
0x6f, 0x61, 0x64, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
|
||||
0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("model.proto", fileDescriptor_4c16552f9fdb66d8) }
|
||||
var (
|
||||
file_model_proto_rawDescOnce sync.Once
|
||||
file_model_proto_rawDescData = file_model_proto_rawDesc
|
||||
)
|
||||
|
||||
var fileDescriptor_4c16552f9fdb66d8 = []byte{
|
||||
// 349 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0x5f, 0xcb, 0xd3, 0x30,
|
||||
0x14, 0xc6, 0xe9, 0xb6, 0xae, 0xeb, 0xe9, 0xa6, 0x12, 0x04, 0x2b, 0x22, 0x8e, 0x7a, 0x53, 0x2f,
|
||||
0xec, 0x50, 0xbf, 0x81, 0x13, 0x61, 0x37, 0x32, 0xa2, 0x57, 0xde, 0x94, 0xac, 0x0d, 0x2e, 0xac,
|
||||
0xf9, 0x43, 0x72, 0x3a, 0xb6, 0xaf, 0xe4, 0xa7, 0x7c, 0x49, 0xda, 0x8e, 0xf7, 0xaa, 0x3c, 0xbf,
|
||||
0x84, 0xdf, 0x79, 0x4e, 0x03, 0x99, 0xd4, 0x2d, 0xef, 0x2a, 0x63, 0x35, 0x6a, 0x92, 0x74, 0xe2,
|
||||
0xca, 0x2f, 0x02, 0x8b, 0x0b, 0x2c, 0x7e, 0xe9, 0x96, 0x93, 0x17, 0x30, 0x13, 0x6d, 0x1e, 0x6d,
|
||||
0xa3, 0x32, 0xa5, 0x33, 0xd1, 0x86, 0x6c, 0xf2, 0xd9, 0x98, 0x0d, 0x79, 0x0b, 0x2b, 0x8b, 0x4d,
|
||||
0x6d, 0xb4, 0xc5, 0x7c, 0xbe, 0x8d, 0xca, 0x0d, 0x4d, 0x2c, 0x36, 0x47, 0x6d, 0x91, 0x94, 0x10,
|
||||
0x3b, 0x64, 0xe8, 0xf2, 0xc5, 0x36, 0x2a, 0xb3, 0xaf, 0xa4, 0x1a, 0xdd, 0x95, 0x17, 0xff, 0xf6,
|
||||
0x27, 0x74, 0xb8, 0x50, 0x1c, 0x20, 0x7d, 0x30, 0xf2, 0x0e, 0x52, 0xd5, 0xcb, 0xda, 0x6a, 0x2d,
|
||||
0x5d, 0x18, 0x1c, 0xd3, 0x95, 0xea, 0x25, 0xf5, 0x99, 0x7c, 0x80, 0xcc, 0x1f, 0x36, 0x9d, 0xe0,
|
||||
0x0a, 0x5d, 0xe8, 0x11, 0x53, 0x50, 0xbd, 0xdc, 0x0f, 0xa4, 0xf8, 0x1f, 0xc1, 0xc2, 0x5f, 0x25,
|
||||
0x6f, 0x20, 0xf1, 0x8a, 0xfa, 0xd1, 0x7e, 0xe9, 0xe3, 0xa1, 0x25, 0x1f, 0x61, 0xc3, 0xa5, 0xc1,
|
||||
0x7b, 0x8d, 0x42, 0x72, 0xdd, 0x63, 0x90, 0x6c, 0xe8, 0x3a, 0xc0, 0x3f, 0x03, 0x23, 0x9f, 0xe0,
|
||||
0x95, 0x64, 0xb7, 0xda, 0x30, 0x8b, 0xa2, 0x11, 0x86, 0xf9, 0x61, 0xc3, 0x7a, 0x2f, 0x25, 0xbb,
|
||||
0x1d, 0x9f, 0x61, 0xef, 0x6b, 0x2c, 0x67, 0x28, 0xb4, 0x0a, 0xca, 0xb0, 0xee, 0x9c, 0xae, 0x27,
|
||||
0xe8, 0x95, 0xe4, 0x35, 0xc4, 0xa8, 0x2f, 0x5c, 0xe5, 0x71, 0xe8, 0x32, 0x84, 0xe2, 0x27, 0x64,
|
||||
0x3f, 0x18, 0xb2, 0xfd, 0x99, 0x29, 0xc5, 0x3b, 0xf2, 0x1e, 0xc0, 0x71, 0xe7, 0xbc, 0xe8, 0xd1,
|
||||
0x3a, 0x1d, 0xc9, 0xa1, 0x25, 0x39, 0x24, 0x86, 0xdd, 0x3b, 0xcd, 0xda, 0x50, 0x79, 0x4d, 0xa7,
|
||||
0xf8, 0xfd, 0xcb, 0xdf, 0xdd, 0x3f, 0x81, 0xe7, 0xfe, 0x54, 0x35, 0x5a, 0xee, 0xc6, 0xdf, 0x3c,
|
||||
0x7d, 0x3f, 0x3b, 0x6e, 0xaf, 0xdc, 0xee, 0xc2, 0x03, 0x4f, 0xf0, 0xb4, 0x0c, 0xf1, 0xdb, 0x53,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x7e, 0x05, 0x01, 0xfe, 0x01, 0x00, 0x00,
|
||||
func file_model_proto_rawDescGZIP() []byte {
|
||||
file_model_proto_rawDescOnce.Do(func() {
|
||||
file_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_proto_rawDescData)
|
||||
})
|
||||
return file_model_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_model_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_model_proto_goTypes = []interface{}{
|
||||
(*Node)(nil), // 0: livekit.Node
|
||||
(*NodeStats)(nil), // 1: livekit.NodeStats
|
||||
(*Room)(nil), // 2: livekit.Room
|
||||
(*DataChannel)(nil), // 3: livekit.DataChannel
|
||||
}
|
||||
var file_model_proto_depIdxs = []int32{
|
||||
1, // 0: livekit.Node.stats:type_name -> livekit.NodeStats
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_model_proto_init() }
|
||||
func file_model_proto_init() {
|
||||
if File_model_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Node); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NodeStats); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Room); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DataChannel); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_model_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_model_proto_goTypes,
|
||||
DependencyIndexes: file_model_proto_depIdxs,
|
||||
MessageInfos: file_model_proto_msgTypes,
|
||||
}.Build()
|
||||
File_model_proto = out.File
|
||||
file_model_proto_rawDesc = nil
|
||||
file_model_proto_goTypes = nil
|
||||
file_model_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
+381
-205
@@ -1,294 +1,470 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.13.0
|
||||
// source: room.proto
|
||||
|
||||
package livekit
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
math "math"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
type CreateRoomRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
// number of seconds the room should cleanup after being empty
|
||||
EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"`
|
||||
MaxParticipants uint32 `protobuf:"varint,3,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"`
|
||||
MaxParticipants uint32 `protobuf:"varint,3,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"`
|
||||
}
|
||||
|
||||
func (m *CreateRoomRequest) Reset() { *m = CreateRoomRequest{} }
|
||||
func (m *CreateRoomRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*CreateRoomRequest) ProtoMessage() {}
|
||||
func (x *CreateRoomRequest) Reset() {
|
||||
*x = CreateRoomRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_room_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *CreateRoomRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CreateRoomRequest) ProtoMessage() {}
|
||||
|
||||
func (x *CreateRoomRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_room_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use CreateRoomRequest.ProtoReflect.Descriptor instead.
|
||||
func (*CreateRoomRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c5fd27dd97284ef4, []int{0}
|
||||
return file_room_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (m *CreateRoomRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_CreateRoomRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *CreateRoomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_CreateRoomRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *CreateRoomRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_CreateRoomRequest.Merge(m, src)
|
||||
}
|
||||
func (m *CreateRoomRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_CreateRoomRequest.Size(m)
|
||||
}
|
||||
func (m *CreateRoomRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_CreateRoomRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_CreateRoomRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *CreateRoomRequest) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
func (x *CreateRoomRequest) GetRoomId() string {
|
||||
if x != nil {
|
||||
return x.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateRoomRequest) GetEmptyTimeout() uint32 {
|
||||
if m != nil {
|
||||
return m.EmptyTimeout
|
||||
func (x *CreateRoomRequest) GetEmptyTimeout() uint32 {
|
||||
if x != nil {
|
||||
return x.EmptyTimeout
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *CreateRoomRequest) GetMaxParticipants() uint32 {
|
||||
if m != nil {
|
||||
return m.MaxParticipants
|
||||
func (x *CreateRoomRequest) GetMaxParticipants() uint32 {
|
||||
if x != nil {
|
||||
return x.MaxParticipants
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type GetRoomRequest struct {
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
}
|
||||
|
||||
func (m *GetRoomRequest) Reset() { *m = GetRoomRequest{} }
|
||||
func (m *GetRoomRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetRoomRequest) ProtoMessage() {}
|
||||
func (x *GetRoomRequest) Reset() {
|
||||
*x = GetRoomRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_room_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *GetRoomRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetRoomRequest) ProtoMessage() {}
|
||||
|
||||
func (x *GetRoomRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_room_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use GetRoomRequest.ProtoReflect.Descriptor instead.
|
||||
func (*GetRoomRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c5fd27dd97284ef4, []int{1}
|
||||
return file_room_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (m *GetRoomRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetRoomRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetRoomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetRoomRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *GetRoomRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetRoomRequest.Merge(m, src)
|
||||
}
|
||||
func (m *GetRoomRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_GetRoomRequest.Size(m)
|
||||
}
|
||||
func (m *GetRoomRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetRoomRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetRoomRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *GetRoomRequest) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
func (x *GetRoomRequest) GetRoomId() string {
|
||||
if x != nil {
|
||||
return x.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type RoomInfo struct {
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
NodeIp string `protobuf:"bytes,2,opt,name=node_ip,json=nodeIp,proto3" json:"node_ip,omitempty"`
|
||||
NodeRtcPort uint32 `protobuf:"varint,3,opt,name=node_rtc_port,json=nodeRtcPort,proto3" json:"node_rtc_port,omitempty"`
|
||||
CreationTime int64 `protobuf:"varint,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
NodeIp string `protobuf:"bytes,2,opt,name=node_ip,json=nodeIp,proto3" json:"node_ip,omitempty"`
|
||||
NodeRtcPort uint32 `protobuf:"varint,3,opt,name=node_rtc_port,json=nodeRtcPort,proto3" json:"node_rtc_port,omitempty"`
|
||||
CreationTime int64 `protobuf:"varint,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
|
||||
}
|
||||
|
||||
func (m *RoomInfo) Reset() { *m = RoomInfo{} }
|
||||
func (m *RoomInfo) String() string { return proto.CompactTextString(m) }
|
||||
func (*RoomInfo) ProtoMessage() {}
|
||||
func (x *RoomInfo) Reset() {
|
||||
*x = RoomInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_room_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *RoomInfo) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RoomInfo) ProtoMessage() {}
|
||||
|
||||
func (x *RoomInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_room_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use RoomInfo.ProtoReflect.Descriptor instead.
|
||||
func (*RoomInfo) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c5fd27dd97284ef4, []int{2}
|
||||
return file_room_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (m *RoomInfo) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_RoomInfo.Unmarshal(m, b)
|
||||
}
|
||||
func (m *RoomInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_RoomInfo.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *RoomInfo) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_RoomInfo.Merge(m, src)
|
||||
}
|
||||
func (m *RoomInfo) XXX_Size() int {
|
||||
return xxx_messageInfo_RoomInfo.Size(m)
|
||||
}
|
||||
func (m *RoomInfo) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_RoomInfo.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_RoomInfo proto.InternalMessageInfo
|
||||
|
||||
func (m *RoomInfo) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
func (x *RoomInfo) GetRoomId() string {
|
||||
if x != nil {
|
||||
return x.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RoomInfo) GetNodeIp() string {
|
||||
if m != nil {
|
||||
return m.NodeIp
|
||||
func (x *RoomInfo) GetNodeIp() string {
|
||||
if x != nil {
|
||||
return x.NodeIp
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RoomInfo) GetNodeRtcPort() uint32 {
|
||||
if m != nil {
|
||||
return m.NodeRtcPort
|
||||
func (x *RoomInfo) GetNodeRtcPort() uint32 {
|
||||
if x != nil {
|
||||
return x.NodeRtcPort
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *RoomInfo) GetCreationTime() int64 {
|
||||
if m != nil {
|
||||
return m.CreationTime
|
||||
func (x *RoomInfo) GetCreationTime() int64 {
|
||||
if x != nil {
|
||||
return x.CreationTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *RoomInfo) GetToken() string {
|
||||
if m != nil {
|
||||
return m.Token
|
||||
func (x *RoomInfo) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DeleteRoomRequest struct {
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
}
|
||||
|
||||
func (m *DeleteRoomRequest) Reset() { *m = DeleteRoomRequest{} }
|
||||
func (m *DeleteRoomRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*DeleteRoomRequest) ProtoMessage() {}
|
||||
func (x *DeleteRoomRequest) Reset() {
|
||||
*x = DeleteRoomRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_room_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DeleteRoomRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteRoomRequest) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteRoomRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_room_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DeleteRoomRequest.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteRoomRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c5fd27dd97284ef4, []int{3}
|
||||
return file_room_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (m *DeleteRoomRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteRoomRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DeleteRoomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DeleteRoomRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DeleteRoomRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DeleteRoomRequest.Merge(m, src)
|
||||
}
|
||||
func (m *DeleteRoomRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_DeleteRoomRequest.Size(m)
|
||||
}
|
||||
func (m *DeleteRoomRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DeleteRoomRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DeleteRoomRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *DeleteRoomRequest) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
func (x *DeleteRoomRequest) GetRoomId() string {
|
||||
if x != nil {
|
||||
return x.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DeleteRoomResponse struct {
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (m *DeleteRoomResponse) Reset() { *m = DeleteRoomResponse{} }
|
||||
func (m *DeleteRoomResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*DeleteRoomResponse) ProtoMessage() {}
|
||||
func (x *DeleteRoomResponse) Reset() {
|
||||
*x = DeleteRoomResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_room_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DeleteRoomResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteRoomResponse) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteRoomResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_room_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use DeleteRoomResponse.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteRoomResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c5fd27dd97284ef4, []int{4}
|
||||
return file_room_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (m *DeleteRoomResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeleteRoomResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DeleteRoomResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DeleteRoomResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DeleteRoomResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DeleteRoomResponse.Merge(m, src)
|
||||
}
|
||||
func (m *DeleteRoomResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_DeleteRoomResponse.Size(m)
|
||||
}
|
||||
func (m *DeleteRoomResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DeleteRoomResponse.DiscardUnknown(m)
|
||||
var File_room_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_room_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69,
|
||||
0x76, 0x65, 0x6b, 0x69, 0x74, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
|
||||
0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f,
|
||||
0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
|
||||
0x6d, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f,
|
||||
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x6e, 0x74, 0x73, 0x22, 0x29, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x9b,
|
||||
0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f,
|
||||
0x6f, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x70, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x70, 0x12, 0x22, 0x0a,
|
||||
0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x74, 0x63, 0x50, 0x6f, 0x72,
|
||||
0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x11,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x32, 0xc8, 0x01, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x12, 0x3b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
|
||||
0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a,
|
||||
0x07, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f,
|
||||
0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
|
||||
0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x31, 0x5a, 0x2f, 0x67,
|
||||
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DeleteRoomResponse proto.InternalMessageInfo
|
||||
var (
|
||||
file_room_proto_rawDescOnce sync.Once
|
||||
file_room_proto_rawDescData = file_room_proto_rawDesc
|
||||
)
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*CreateRoomRequest)(nil), "livekit.CreateRoomRequest")
|
||||
proto.RegisterType((*GetRoomRequest)(nil), "livekit.GetRoomRequest")
|
||||
proto.RegisterType((*RoomInfo)(nil), "livekit.RoomInfo")
|
||||
proto.RegisterType((*DeleteRoomRequest)(nil), "livekit.DeleteRoomRequest")
|
||||
proto.RegisterType((*DeleteRoomResponse)(nil), "livekit.DeleteRoomResponse")
|
||||
func file_room_proto_rawDescGZIP() []byte {
|
||||
file_room_proto_rawDescOnce.Do(func() {
|
||||
file_room_proto_rawDescData = protoimpl.X.CompressGZIP(file_room_proto_rawDescData)
|
||||
})
|
||||
return file_room_proto_rawDescData
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("room.proto", fileDescriptor_c5fd27dd97284ef4) }
|
||||
|
||||
var fileDescriptor_c5fd27dd97284ef4 = []byte{
|
||||
// 360 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4d, 0x6f, 0xda, 0x40,
|
||||
0x10, 0x95, 0x4b, 0xc1, 0x65, 0x80, 0xb6, 0xac, 0x90, 0xb0, 0xe8, 0x05, 0xb9, 0x17, 0x90, 0x5a,
|
||||
0xa3, 0x36, 0xca, 0x29, 0xb7, 0x7c, 0x28, 0xe2, 0x86, 0x9c, 0x9c, 0x72, 0xb1, 0x8c, 0x99, 0x24,
|
||||
0x2b, 0xb0, 0x67, 0xb3, 0x1e, 0x10, 0x91, 0xf2, 0x4f, 0xf2, 0x87, 0xf2, 0xb3, 0xa2, 0x5d, 0xcc,
|
||||
0x47, 0x04, 0x91, 0x38, 0x59, 0xf3, 0xde, 0xb3, 0xe7, 0xbd, 0x37, 0x06, 0xd0, 0x44, 0x69, 0xa0,
|
||||
0x34, 0x31, 0x09, 0x77, 0x26, 0x17, 0x38, 0x95, 0xec, 0xbf, 0x40, 0xf3, 0x42, 0x63, 0xcc, 0x18,
|
||||
0x12, 0xa5, 0x21, 0x3e, 0xcd, 0x31, 0x67, 0xd1, 0x06, 0xd7, 0x68, 0x23, 0x39, 0xf1, 0x9c, 0xae,
|
||||
0xd3, 0xab, 0x86, 0x15, 0x33, 0x0e, 0x27, 0xe2, 0x37, 0x34, 0x30, 0x55, 0xfc, 0x1c, 0xb1, 0x4c,
|
||||
0x91, 0xe6, 0xec, 0x7d, 0xe9, 0x3a, 0xbd, 0x46, 0x58, 0xb7, 0xe0, 0xed, 0x0a, 0x13, 0x7d, 0xf8,
|
||||
0x99, 0xc6, 0xcb, 0x48, 0xc5, 0x9a, 0x65, 0x22, 0x55, 0x9c, 0x71, 0xee, 0x95, 0xac, 0xee, 0x47,
|
||||
0x1a, 0x2f, 0x47, 0x3b, 0xb0, 0xdf, 0x87, 0xef, 0xd7, 0xc8, 0xc7, 0xac, 0xf6, 0x5f, 0x1d, 0xf8,
|
||||
0x66, 0x84, 0xc3, 0xec, 0x9e, 0x3e, 0x37, 0xd8, 0x06, 0x37, 0xa3, 0x09, 0x46, 0x52, 0x59, 0x6b,
|
||||
0xd5, 0xb0, 0x62, 0xc6, 0xa1, 0x12, 0x3e, 0x34, 0x2c, 0xa1, 0x39, 0x89, 0x14, 0x69, 0x2e, 0x1c,
|
||||
0xd5, 0x0c, 0x18, 0x72, 0x32, 0x22, 0xcd, 0x26, 0x5d, 0x62, 0xba, 0x90, 0x94, 0xd9, 0x80, 0xde,
|
||||
0xd7, 0xae, 0xd3, 0x2b, 0x85, 0xf5, 0x35, 0x68, 0x02, 0x8a, 0x16, 0x94, 0x99, 0xa6, 0x98, 0x79,
|
||||
0x65, 0xfb, 0xfd, 0xd5, 0xe0, 0xff, 0x81, 0xe6, 0x25, 0xce, 0xf0, 0xb8, 0x1a, 0xfd, 0x16, 0x88,
|
||||
0x5d, 0x75, 0xae, 0x28, 0xcb, 0xf1, 0xff, 0x9b, 0x03, 0x35, 0x03, 0xdc, 0xa0, 0x5e, 0xc8, 0x04,
|
||||
0xc5, 0x19, 0xc0, 0xf6, 0x34, 0xa2, 0x13, 0x14, 0x27, 0x0b, 0xf6, 0xee, 0xd5, 0x69, 0x6e, 0xb8,
|
||||
0x4d, 0x43, 0xa7, 0xe0, 0x16, 0xcd, 0x8a, 0xf6, 0x86, 0xfd, 0xd8, 0xf5, 0xa1, 0xd7, 0xae, 0x00,
|
||||
0xb6, 0xce, 0x76, 0x76, 0xee, 0x85, 0xeb, 0xfc, 0x3a, 0xc8, 0xad, 0xa2, 0x9c, 0xff, 0xbb, 0x1b,
|
||||
0x3c, 0x48, 0x7e, 0x9c, 0x8f, 0x83, 0x84, 0xd2, 0x41, 0x21, 0x5c, 0x3f, 0xff, 0xe6, 0xa8, 0x17,
|
||||
0xa8, 0x07, 0xf6, 0x4f, 0x5c, 0x83, 0xe3, 0x8a, 0x1d, 0x4f, 0xde, 0x03, 0x00, 0x00, 0xff, 0xff,
|
||||
0x88, 0x0b, 0xf0, 0x4d, 0xa6, 0x02, 0x00, 0x00,
|
||||
var file_room_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_room_proto_goTypes = []interface{}{
|
||||
(*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest
|
||||
(*GetRoomRequest)(nil), // 1: livekit.GetRoomRequest
|
||||
(*RoomInfo)(nil), // 2: livekit.RoomInfo
|
||||
(*DeleteRoomRequest)(nil), // 3: livekit.DeleteRoomRequest
|
||||
(*DeleteRoomResponse)(nil), // 4: livekit.DeleteRoomResponse
|
||||
}
|
||||
var file_room_proto_depIdxs = []int32{
|
||||
0, // 0: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest
|
||||
1, // 1: livekit.RoomService.GetRoom:input_type -> livekit.GetRoomRequest
|
||||
3, // 2: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest
|
||||
2, // 3: livekit.RoomService.CreateRoom:output_type -> livekit.RoomInfo
|
||||
2, // 4: livekit.RoomService.GetRoom:output_type -> livekit.RoomInfo
|
||||
4, // 5: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse
|
||||
3, // [3:6] is the sub-list for method output_type
|
||||
0, // [0:3] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_room_proto_init() }
|
||||
func file_room_proto_init() {
|
||||
if File_room_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_room_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CreateRoomRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_room_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetRoomRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_room_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*RoomInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_room_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DeleteRoomRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_room_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DeleteRoomResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_room_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_room_proto_goTypes,
|
||||
DependencyIndexes: file_room_proto_depIdxs,
|
||||
MessageInfos: file_room_proto_msgTypes,
|
||||
}.Build()
|
||||
File_room_proto = out.File
|
||||
file_room_proto_rawDesc = nil
|
||||
file_room_proto_goTypes = nil
|
||||
file_room_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
@@ -1,441 +0,0 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// source: rtc.proto
|
||||
|
||||
package livekit
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
math "math"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
type SignalRequest struct {
|
||||
// Types that are valid to be assigned to Message:
|
||||
// *SignalRequest_Join
|
||||
// *SignalRequest_Negotiate
|
||||
// *SignalRequest_Trickle
|
||||
Message isSignalRequest_Message `protobuf_oneof:"message"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SignalRequest) Reset() { *m = SignalRequest{} }
|
||||
func (m *SignalRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*SignalRequest) ProtoMessage() {}
|
||||
func (*SignalRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{0}
|
||||
}
|
||||
|
||||
func (m *SignalRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SignalRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SignalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SignalRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SignalRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SignalRequest.Merge(m, src)
|
||||
}
|
||||
func (m *SignalRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_SignalRequest.Size(m)
|
||||
}
|
||||
func (m *SignalRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SignalRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SignalRequest proto.InternalMessageInfo
|
||||
|
||||
type isSignalRequest_Message interface {
|
||||
isSignalRequest_Message()
|
||||
}
|
||||
|
||||
type SignalRequest_Join struct {
|
||||
Join *JoinRequest `protobuf:"bytes,1,opt,name=join,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SignalRequest_Negotiate struct {
|
||||
Negotiate *SessionDescription `protobuf:"bytes,2,opt,name=negotiate,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SignalRequest_Trickle struct {
|
||||
Trickle *Trickle `protobuf:"bytes,3,opt,name=trickle,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*SignalRequest_Join) isSignalRequest_Message() {}
|
||||
|
||||
func (*SignalRequest_Negotiate) isSignalRequest_Message() {}
|
||||
|
||||
func (*SignalRequest_Trickle) isSignalRequest_Message() {}
|
||||
|
||||
func (m *SignalRequest) GetMessage() isSignalRequest_Message {
|
||||
if m != nil {
|
||||
return m.Message
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalRequest) GetJoin() *JoinRequest {
|
||||
if x, ok := m.GetMessage().(*SignalRequest_Join); ok {
|
||||
return x.Join
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalRequest) GetNegotiate() *SessionDescription {
|
||||
if x, ok := m.GetMessage().(*SignalRequest_Negotiate); ok {
|
||||
return x.Negotiate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalRequest) GetTrickle() *Trickle {
|
||||
if x, ok := m.GetMessage().(*SignalRequest_Trickle); ok {
|
||||
return x.Trickle
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// XXX_OneofWrappers is for the internal use of the proto package.
|
||||
func (*SignalRequest) XXX_OneofWrappers() []interface{} {
|
||||
return []interface{}{
|
||||
(*SignalRequest_Join)(nil),
|
||||
(*SignalRequest_Negotiate)(nil),
|
||||
(*SignalRequest_Trickle)(nil),
|
||||
}
|
||||
}
|
||||
|
||||
type SignalResponse struct {
|
||||
// Types that are valid to be assigned to Message:
|
||||
// *SignalResponse_Join
|
||||
// *SignalResponse_Negotiate
|
||||
// *SignalResponse_Trickle
|
||||
Message isSignalResponse_Message `protobuf_oneof:"message"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SignalResponse) Reset() { *m = SignalResponse{} }
|
||||
func (m *SignalResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*SignalResponse) ProtoMessage() {}
|
||||
func (*SignalResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{1}
|
||||
}
|
||||
|
||||
func (m *SignalResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SignalResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SignalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SignalResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SignalResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SignalResponse.Merge(m, src)
|
||||
}
|
||||
func (m *SignalResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_SignalResponse.Size(m)
|
||||
}
|
||||
func (m *SignalResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SignalResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SignalResponse proto.InternalMessageInfo
|
||||
|
||||
type isSignalResponse_Message interface {
|
||||
isSignalResponse_Message()
|
||||
}
|
||||
|
||||
type SignalResponse_Join struct {
|
||||
Join *JoinResponse `protobuf:"bytes,1,opt,name=join,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SignalResponse_Negotiate struct {
|
||||
Negotiate *SessionDescription `protobuf:"bytes,2,opt,name=negotiate,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SignalResponse_Trickle struct {
|
||||
Trickle *Trickle `protobuf:"bytes,3,opt,name=trickle,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*SignalResponse_Join) isSignalResponse_Message() {}
|
||||
|
||||
func (*SignalResponse_Negotiate) isSignalResponse_Message() {}
|
||||
|
||||
func (*SignalResponse_Trickle) isSignalResponse_Message() {}
|
||||
|
||||
func (m *SignalResponse) GetMessage() isSignalResponse_Message {
|
||||
if m != nil {
|
||||
return m.Message
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalResponse) GetJoin() *JoinResponse {
|
||||
if x, ok := m.GetMessage().(*SignalResponse_Join); ok {
|
||||
return x.Join
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalResponse) GetNegotiate() *SessionDescription {
|
||||
if x, ok := m.GetMessage().(*SignalResponse_Negotiate); ok {
|
||||
return x.Negotiate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SignalResponse) GetTrickle() *Trickle {
|
||||
if x, ok := m.GetMessage().(*SignalResponse_Trickle); ok {
|
||||
return x.Trickle
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// XXX_OneofWrappers is for the internal use of the proto package.
|
||||
func (*SignalResponse) XXX_OneofWrappers() []interface{} {
|
||||
return []interface{}{
|
||||
(*SignalResponse_Join)(nil),
|
||||
(*SignalResponse_Negotiate)(nil),
|
||||
(*SignalResponse_Trickle)(nil),
|
||||
}
|
||||
}
|
||||
|
||||
type JoinRequest struct {
|
||||
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
|
||||
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
|
||||
Offer *SessionDescription `protobuf:"bytes,4,opt,name=offer,proto3" json:"offer,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *JoinRequest) Reset() { *m = JoinRequest{} }
|
||||
func (m *JoinRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*JoinRequest) ProtoMessage() {}
|
||||
func (*JoinRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{2}
|
||||
}
|
||||
|
||||
func (m *JoinRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_JoinRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *JoinRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_JoinRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *JoinRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_JoinRequest.Merge(m, src)
|
||||
}
|
||||
func (m *JoinRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_JoinRequest.Size(m)
|
||||
}
|
||||
func (m *JoinRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_JoinRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_JoinRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *JoinRequest) GetRoomId() string {
|
||||
if m != nil {
|
||||
return m.RoomId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *JoinRequest) GetToken() string {
|
||||
if m != nil {
|
||||
return m.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *JoinRequest) GetPeerId() string {
|
||||
if m != nil {
|
||||
return m.PeerId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *JoinRequest) GetOffer() *SessionDescription {
|
||||
if m != nil {
|
||||
return m.Offer
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type JoinResponse struct {
|
||||
Answer *SessionDescription `protobuf:"bytes,1,opt,name=answer,proto3" json:"answer,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *JoinResponse) Reset() { *m = JoinResponse{} }
|
||||
func (m *JoinResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*JoinResponse) ProtoMessage() {}
|
||||
func (*JoinResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{3}
|
||||
}
|
||||
|
||||
func (m *JoinResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_JoinResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *JoinResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_JoinResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *JoinResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_JoinResponse.Merge(m, src)
|
||||
}
|
||||
func (m *JoinResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_JoinResponse.Size(m)
|
||||
}
|
||||
func (m *JoinResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_JoinResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_JoinResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *JoinResponse) GetAnswer() *SessionDescription {
|
||||
if m != nil {
|
||||
return m.Answer
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Trickle struct {
|
||||
// serialized JSON structure of candidate init
|
||||
CandidateInit string `protobuf:"bytes,1,opt,name=candidate_init,json=candidateInit,proto3" json:"candidate_init,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *Trickle) Reset() { *m = Trickle{} }
|
||||
func (m *Trickle) String() string { return proto.CompactTextString(m) }
|
||||
func (*Trickle) ProtoMessage() {}
|
||||
func (*Trickle) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{4}
|
||||
}
|
||||
|
||||
func (m *Trickle) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_Trickle.Unmarshal(m, b)
|
||||
}
|
||||
func (m *Trickle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_Trickle.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *Trickle) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_Trickle.Merge(m, src)
|
||||
}
|
||||
func (m *Trickle) XXX_Size() int {
|
||||
return xxx_messageInfo_Trickle.Size(m)
|
||||
}
|
||||
func (m *Trickle) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_Trickle.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_Trickle proto.InternalMessageInfo
|
||||
|
||||
func (m *Trickle) GetCandidateInit() string {
|
||||
if m != nil {
|
||||
return m.CandidateInit
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type SessionDescription struct {
|
||||
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||
Sdp string `protobuf:"bytes,2,opt,name=sdp,proto3" json:"sdp,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SessionDescription) Reset() { *m = SessionDescription{} }
|
||||
func (m *SessionDescription) String() string { return proto.CompactTextString(m) }
|
||||
func (*SessionDescription) ProtoMessage() {}
|
||||
func (*SessionDescription) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_85bd91e80f756774, []int{5}
|
||||
}
|
||||
|
||||
func (m *SessionDescription) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SessionDescription.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SessionDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SessionDescription.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SessionDescription) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SessionDescription.Merge(m, src)
|
||||
}
|
||||
func (m *SessionDescription) XXX_Size() int {
|
||||
return xxx_messageInfo_SessionDescription.Size(m)
|
||||
}
|
||||
func (m *SessionDescription) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SessionDescription.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SessionDescription proto.InternalMessageInfo
|
||||
|
||||
func (m *SessionDescription) GetType() string {
|
||||
if m != nil {
|
||||
return m.Type
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SessionDescription) GetSdp() string {
|
||||
if m != nil {
|
||||
return m.Sdp
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*SignalRequest)(nil), "livekit.SignalRequest")
|
||||
proto.RegisterType((*SignalResponse)(nil), "livekit.SignalResponse")
|
||||
proto.RegisterType((*JoinRequest)(nil), "livekit.JoinRequest")
|
||||
proto.RegisterType((*JoinResponse)(nil), "livekit.JoinResponse")
|
||||
proto.RegisterType((*Trickle)(nil), "livekit.Trickle")
|
||||
proto.RegisterType((*SessionDescription)(nil), "livekit.SessionDescription")
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("rtc.proto", fileDescriptor_85bd91e80f756774) }
|
||||
|
||||
var fileDescriptor_85bd91e80f756774 = []byte{
|
||||
// 403 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x93, 0x4f, 0x6f, 0xd3, 0x40,
|
||||
0x10, 0xc5, 0x63, 0x92, 0xda, 0xf2, 0x94, 0x56, 0xd5, 0xa8, 0x50, 0x0b, 0x2e, 0xc8, 0x12, 0x52,
|
||||
0xc5, 0x1f, 0xa7, 0x7f, 0x6e, 0x20, 0x2e, 0x2d, 0x87, 0x04, 0x6e, 0x9b, 0x9e, 0xb8, 0x54, 0xae,
|
||||
0x3d, 0x31, 0x43, 0x92, 0x5d, 0xb3, 0xbb, 0x09, 0xe2, 0x1b, 0xf0, 0x75, 0x10, 0x5f, 0x10, 0x79,
|
||||
0xbd, 0x4e, 0x02, 0x91, 0xe0, 0xd8, 0x93, 0x77, 0x46, 0xbf, 0xb7, 0x7a, 0xef, 0x69, 0x0d, 0xb1,
|
||||
0xb6, 0x45, 0x56, 0x6b, 0x65, 0x15, 0x46, 0x73, 0x5e, 0xd1, 0x8c, 0x6d, 0xfa, 0x33, 0x80, 0x83,
|
||||
0x09, 0x57, 0x32, 0x9f, 0x0b, 0xfa, 0xba, 0x24, 0x63, 0xf1, 0x05, 0x0c, 0xbe, 0x28, 0x96, 0x49,
|
||||
0xf0, 0x2c, 0x38, 0xdd, 0xbf, 0x38, 0xce, 0x3c, 0x99, 0x7d, 0x50, 0x2c, 0x3d, 0x33, 0xea, 0x09,
|
||||
0xc7, 0xe0, 0x5b, 0x88, 0x25, 0x55, 0xca, 0x72, 0x6e, 0x29, 0x79, 0xe0, 0x04, 0x4f, 0xd7, 0x82,
|
||||
0x09, 0x19, 0xc3, 0x4a, 0xbe, 0x27, 0x53, 0x68, 0xae, 0x2d, 0x2b, 0x39, 0xea, 0x89, 0x0d, 0x8f,
|
||||
0xaf, 0x20, 0xb2, 0x9a, 0x8b, 0xd9, 0x9c, 0x92, 0xbe, 0x93, 0x1e, 0xad, 0xa5, 0x37, 0xed, 0x7e,
|
||||
0xd4, 0x13, 0x1d, 0x72, 0x15, 0x43, 0xb4, 0x20, 0x63, 0xf2, 0x8a, 0xd2, 0x5f, 0x01, 0x1c, 0x76,
|
||||
0x9e, 0x4d, 0xad, 0xa4, 0x21, 0x7c, 0xf9, 0x87, 0xe9, 0x47, 0x7f, 0x99, 0x6e, 0xa1, 0x7b, 0x76,
|
||||
0xfd, 0x23, 0x80, 0xfd, 0xad, 0x0e, 0xf1, 0x04, 0x22, 0xad, 0xd4, 0xe2, 0x96, 0x4b, 0xe7, 0x3a,
|
||||
0x16, 0x61, 0x33, 0x8e, 0x4b, 0x3c, 0x86, 0x3d, 0xab, 0x66, 0x24, 0x9d, 0xb5, 0x58, 0xb4, 0x43,
|
||||
0x83, 0xd7, 0x44, 0xba, 0xc1, 0xfb, 0x2d, 0xde, 0x8c, 0xe3, 0x12, 0xcf, 0x61, 0x4f, 0x4d, 0xa7,
|
||||
0xa4, 0x93, 0xc1, 0x7f, 0x93, 0x88, 0x96, 0x4c, 0xaf, 0xe1, 0xe1, 0x76, 0x31, 0x78, 0x09, 0x61,
|
||||
0x2e, 0xcd, 0x37, 0xd2, 0xbe, 0xbf, 0x7f, 0xde, 0xe1, 0xd1, 0xf4, 0x0c, 0x22, 0x1f, 0x18, 0x9f,
|
||||
0xc3, 0x61, 0x91, 0xcb, 0x92, 0xcb, 0xdc, 0xd2, 0x2d, 0x4b, 0xb6, 0x3e, 0xd1, 0xc1, 0x7a, 0x3b,
|
||||
0x96, 0x6c, 0xd3, 0x37, 0x80, 0xbb, 0xf7, 0x21, 0xc2, 0xc0, 0x7e, 0xaf, 0xc9, 0x4b, 0xdc, 0x19,
|
||||
0x8f, 0xa0, 0x6f, 0xca, 0xda, 0x17, 0xd0, 0x1c, 0x2f, 0x3e, 0x02, 0x88, 0x9b, 0xeb, 0x09, 0xe9,
|
||||
0x15, 0x17, 0x84, 0xef, 0x20, 0x6c, 0x1f, 0x00, 0x3e, 0xde, 0x58, 0xdd, 0x7e, 0xc5, 0x4f, 0x4e,
|
||||
0x76, 0xf6, 0x6d, 0xd6, 0xd3, 0xe0, 0x2c, 0xb8, 0x3a, 0xff, 0x34, 0xac, 0xd8, 0x7e, 0x5e, 0xde,
|
||||
0x65, 0x85, 0x5a, 0x0c, 0x3d, 0xd8, 0x7d, 0x5f, 0x1b, 0xd2, 0x2b, 0xd2, 0x43, 0xf7, 0xa3, 0x74,
|
||||
0xcb, 0xbb, 0xd0, 0x8d, 0x97, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x00, 0xe8, 0xef, 0x85, 0x44,
|
||||
0x03, 0x00, 0x00,
|
||||
}
|
||||
@@ -1,129 +0,0 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
|
||||
package livekit
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
// RTCServiceClient is the client API for RTCService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type RTCServiceClient interface {
|
||||
Signal(ctx context.Context, opts ...grpc.CallOption) (RTCService_SignalClient, error)
|
||||
}
|
||||
|
||||
type rTCServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewRTCServiceClient(cc grpc.ClientConnInterface) RTCServiceClient {
|
||||
return &rTCServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *rTCServiceClient) Signal(ctx context.Context, opts ...grpc.CallOption) (RTCService_SignalClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_RTCService_serviceDesc.Streams[0], "/livekit.RTCService/Signal", opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &rTCServiceSignalClient{stream}
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type RTCService_SignalClient interface {
|
||||
Send(*SignalRequest) error
|
||||
Recv() (*SignalResponse, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type rTCServiceSignalClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *rTCServiceSignalClient) Send(m *SignalRequest) error {
|
||||
return x.ClientStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *rTCServiceSignalClient) Recv() (*SignalResponse, error) {
|
||||
m := new(SignalResponse)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// RTCServiceServer is the server API for RTCService service.
|
||||
// All implementations must embed UnimplementedRTCServiceServer
|
||||
// for forward compatibility
|
||||
type RTCServiceServer interface {
|
||||
Signal(RTCService_SignalServer) error
|
||||
mustEmbedUnimplementedRTCServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedRTCServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedRTCServiceServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedRTCServiceServer) Signal(RTCService_SignalServer) error {
|
||||
return status.Errorf(codes.Unimplemented, "method Signal not implemented")
|
||||
}
|
||||
func (UnimplementedRTCServiceServer) mustEmbedUnimplementedRTCServiceServer() {}
|
||||
|
||||
// UnsafeRTCServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to RTCServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeRTCServiceServer interface {
|
||||
mustEmbedUnimplementedRTCServiceServer()
|
||||
}
|
||||
|
||||
func RegisterRTCServiceServer(s *grpc.Server, srv RTCServiceServer) {
|
||||
s.RegisterService(&_RTCService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _RTCService_Signal_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
return srv.(RTCServiceServer).Signal(&rTCServiceSignalServer{stream})
|
||||
}
|
||||
|
||||
type RTCService_SignalServer interface {
|
||||
Send(*SignalResponse) error
|
||||
Recv() (*SignalRequest, error)
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type rTCServiceSignalServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *rTCServiceSignalServer) Send(m *SignalResponse) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
|
||||
func (x *rTCServiceSignalServer) Recv() (*SignalRequest, error) {
|
||||
m := new(SignalRequest)
|
||||
if err := x.ServerStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
var _RTCService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "livekit.RTCService",
|
||||
HandlerType: (*RTCServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{},
|
||||
Streams: []grpc.StreamDesc{
|
||||
{
|
||||
StreamName: "Signal",
|
||||
Handler: _RTCService_Signal_Handler,
|
||||
ServerStreams: true,
|
||||
ClientStreams: true,
|
||||
},
|
||||
},
|
||||
Metadata: "rtc.proto",
|
||||
}
|
||||
+2
-18
@@ -3,14 +3,9 @@ syntax = "proto3";
|
||||
package livekit;
|
||||
option go_package = "github.com/livekit/livekit-server/proto/livekit";
|
||||
|
||||
// RTC methods performed on target node
|
||||
service RTCService {
|
||||
rpc Signal(stream SignalRequest) returns (stream SignalResponse);
|
||||
}
|
||||
|
||||
message SignalRequest {
|
||||
oneof message {
|
||||
JoinRequest join = 1;
|
||||
SessionDescription offer = 1;
|
||||
SessionDescription negotiate = 2;
|
||||
Trickle trickle = 3;
|
||||
}
|
||||
@@ -18,23 +13,12 @@ message SignalRequest {
|
||||
|
||||
message SignalResponse {
|
||||
oneof message {
|
||||
JoinResponse join = 1;
|
||||
SessionDescription answer = 1;
|
||||
SessionDescription negotiate = 2;
|
||||
Trickle trickle = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message JoinRequest {
|
||||
string room_id = 1;
|
||||
string token = 2;
|
||||
string peer_id = 3;
|
||||
SessionDescription offer = 4;
|
||||
}
|
||||
|
||||
message JoinResponse {
|
||||
SessionDescription answer = 1;
|
||||
}
|
||||
|
||||
message Trickle {
|
||||
// serialized JSON structure of candidate init
|
||||
string candidate_init = 1;
|
||||
|
||||
Reference in New Issue
Block a user