42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gospeak-live-sfu-demo/gen"
|
|
)
|
|
|
|
// grpcServer 把 Service 适配为 protobuf 生成的 gRPC 服务端接口。
|
|
type grpcServer struct {
|
|
gen.UnimplementedLiveSFUServer
|
|
svc *Service
|
|
}
|
|
|
|
func NewGRPCServer(svc *Service) *grpcServer {
|
|
return &grpcServer{svc: svc}
|
|
}
|
|
|
|
func (g *grpcServer) GetConfig(ctx context.Context, req *gen.GetConfigRequest) (*gen.GetConfigResponse, error) {
|
|
return g.svc.GetConfig(ctx, req)
|
|
}
|
|
|
|
func (g *grpcServer) ListRooms(ctx context.Context, req *gen.ListRoomsRequest) (*gen.ListRoomsResponse, error) {
|
|
return g.svc.ListRooms(ctx, req)
|
|
}
|
|
|
|
func (g *grpcServer) Publish(ctx context.Context, req *gen.PublishRequest) (*gen.PublishResponse, error) {
|
|
return g.svc.Publish(ctx, req)
|
|
}
|
|
|
|
func (g *grpcServer) Subscribe(ctx context.Context, req *gen.SubscribeRequest) (*gen.SubscribeResponse, error) {
|
|
return g.svc.Subscribe(ctx, req)
|
|
}
|
|
|
|
func (g *grpcServer) StopStream(ctx context.Context, req *gen.StopStreamRequest) (*gen.StopStreamResponse, error) {
|
|
return g.svc.StopStream(ctx, req)
|
|
}
|
|
|
|
func (g *grpcServer) WatchRoom(req *gen.WatchRoomRequest, stream gen.LiveSFU_WatchRoomServer) error {
|
|
return g.svc.WatchRoom(req, stream)
|
|
}
|