Documentation
¶
Index ¶
- type CamService
- type LiveStateNotifier
- type Manager
- func (m *Manager) EndStream(ctx context.Context, streamID uint, discardVoD bool) error
- func (m *Manager) Notify(ctx context.Context, notification *protobuf.Notification) (*protobuf.NotificationResponse, error)
- func (m *Manager) ReapStaleStreams()
- func (m *Manager) Register(ctx context.Context, req *protobuf.RegisterRequest) (*protobuf.RegisterResponse, error)
- func (m *Manager) RequestSelfStream(ctx context.Context, stream model.Stream) error
- func (m *Manager) Run() error
- func (m *Manager) TriggerDueStreams() error
- func (m *Manager) UpdateLights()
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CamService ¶ added in v1.7.0
type LiveStateNotifier ¶ added in v1.7.9
LiveStateNotifier is called whenever a stream transitions into or out of the live state, so that other parts of the application (e.g. the websocket hub) can react to it.
type Manager ¶
type Manager struct {
protobuf.UnimplementedRunnerManagerServiceServer
// contains filtered or unexported fields
}
Manager manages communication with runners and handles job distribution
func New ¶
func New(dao dao.DaoWrapper, opts ...Option) *Manager
New returns a new instance of Manager with the given Options
func (*Manager) EndStream ¶ added in v1.7.9
EndStream cancels all runner jobs tracked for the given stream, e.g. when an admin manually stops a stream. It is a no-op if no runner jobs are tracked for the stream (e.g. because it is running on a legacy worker instead).
func (*Manager) Notify ¶
func (m *Manager) Notify(ctx context.Context, notification *protobuf.Notification) (*protobuf.NotificationResponse, error)
func (*Manager) ReapStaleStreams ¶ added in v1.7.9
func (m *Manager) ReapStaleStreams()
ReapStaleStreams finds streams that are stuck in live state and cleans them up. This handles the case where the runner crashes and can never deliver StreamEndNotification.
func (*Manager) Register ¶
func (m *Manager) Register(ctx context.Context, req *protobuf.RegisterRequest) (*protobuf.RegisterResponse, error)
func (*Manager) RequestSelfStream ¶ added in v1.5.7
func (*Manager) TriggerDueStreams ¶
func (*Manager) UpdateLights ¶ added in v1.7.5
func (m *Manager) UpdateLights()
type Option ¶
type Option func(m *Manager)
Option is a func that applies configuration to the Manager
func WithCamService ¶ added in v1.7.0
func WithCamService(camService CamService) Option
func WithListenAddr ¶
WithListenAddr sets the address the Manager listens on for gRPC connections from the Runner. If not applied, the default is used (:50056)
func WithLiveStateNotifier ¶ added in v1.7.9
func WithLiveStateNotifier(notifier LiveStateNotifier) Option
WithLiveStateNotifier registers a callback invoked when a stream starts or stops being live, e.g. to notify viewers via websocket.
func WithMassStorage ¶ added in v1.5.7
func WithSubtitleClient ¶ added in v1.5.7
func WithSubtitleClient(client pb.SubtitleGeneratorClient, auth string) Option