Documentation
¶
Index ¶
- Constants
- Variables
- func GetAgentTopic(agentName, namespace string) string
- func JobStatusIsEnded(s livekit.JobStatus) bool
- type Client
- type JobRequest
- type SignalConn
- type UnimplementedWorkerHandler
- func (UnimplementedWorkerHandler) HandleWorkerDeregister(*Worker)
- func (UnimplementedWorkerHandler) HandleWorkerJobStatus(*Worker, *livekit.UpdateJobStatus)
- func (UnimplementedWorkerHandler) HandleWorkerMigrateJob(*Worker, *livekit.MigrateJobRequest)
- func (UnimplementedWorkerHandler) HandleWorkerRegister(*Worker)
- func (UnimplementedWorkerHandler) HandleWorkerSimulateJob(*Worker, *livekit.Job)
- func (UnimplementedWorkerHandler) HandleWorkerStatus(*Worker, *livekit.UpdateWorkerStatus)
- type Worker
- func (w *Worker) AgentName() string
- func (w *Worker) AssignJob(ctx context.Context, job *livekit.Job) error
- func (w *Worker) Close()
- func (w *Worker) HandleMessage(req *livekit.WorkerMessage)
- func (w *Worker) ID() string
- func (w *Worker) IsClosed() bool
- func (w *Worker) JobType() livekit.JobType
- func (w *Worker) Load() float32
- func (w *Worker) Logger() logger.Logger
- func (w *Worker) Namespace() string
- func (w *Worker) RunningJobs() map[string]*livekit.Job
- func (w *Worker) Status() livekit.WorkerStatus
- func (w *Worker) TerminateJob(jobID string, reason rpc.JobTerminateReason) (*livekit.JobState, error)
- func (w *Worker) UpdateMetadata(metadata string)
- type WorkerHandler
- type WorkerProtocolVersion
Constants ¶
View Source
const ( EnabledCacheTTL = 1 * time.Minute RoomAgentTopic = "room" PublisherAgentTopic = "publisher" DefaultHandlerNamespace = "" CheckEnabledTimeout = 5 * time.Second )
View Source
const CurrentProtocol = 1
Variables ¶
Functions ¶
func GetAgentTopic ¶ added in v1.7.1
func JobStatusIsEnded ¶ added in v1.7.1
Types ¶
type Client ¶
type Client interface {
// LaunchJob starts a room or participant job on an agent.
// it will launch a job once for each worker in each namespace
LaunchJob(ctx context.Context, desc *JobRequest) *serverutils.IncrementalDispatcher[*livekit.Job]
TerminateJob(ctx context.Context, jobID string, reason rpc.JobTerminateReason) (*livekit.JobState, error)
Stop() error
}
func NewAgentClient ¶
func NewAgentClient(bus psrpc.MessageBus) (Client, error)
type JobRequest ¶ added in v1.7.1
type SignalConn ¶ added in v1.7.1
type SignalConn interface {
WriteServerMessage(msg *livekit.ServerMessage) (int, error)
ReadWorkerMessage() (*livekit.WorkerMessage, int, error)
Close() error
}
type UnimplementedWorkerHandler ¶ added in v1.7.1
type UnimplementedWorkerHandler struct{}
func (UnimplementedWorkerHandler) HandleWorkerDeregister ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerDeregister(*Worker)
func (UnimplementedWorkerHandler) HandleWorkerJobStatus ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerJobStatus(*Worker, *livekit.UpdateJobStatus)
func (UnimplementedWorkerHandler) HandleWorkerMigrateJob ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerMigrateJob(*Worker, *livekit.MigrateJobRequest)
func (UnimplementedWorkerHandler) HandleWorkerRegister ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerRegister(*Worker)
func (UnimplementedWorkerHandler) HandleWorkerSimulateJob ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerSimulateJob(*Worker, *livekit.Job)
func (UnimplementedWorkerHandler) HandleWorkerStatus ¶ added in v1.7.1
func (UnimplementedWorkerHandler) HandleWorkerStatus(*Worker, *livekit.UpdateWorkerStatus)
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
func NewWorker ¶
func NewWorker( protocolVersion WorkerProtocolVersion, apiKey string, apiSecret string, serverInfo *livekit.ServerInfo, conn SignalConn, logger logger.Logger, handler WorkerHandler, ) *Worker
func (*Worker) HandleMessage ¶
func (w *Worker) HandleMessage(req *livekit.WorkerMessage)
func (*Worker) Status ¶
func (w *Worker) Status() livekit.WorkerStatus
func (*Worker) TerminateJob ¶ added in v1.7.1
func (*Worker) UpdateMetadata ¶
type WorkerHandler ¶ added in v1.7.1
type WorkerHandler interface {
HandleWorkerRegister(w *Worker)
HandleWorkerDeregister(w *Worker)
HandleWorkerStatus(w *Worker, status *livekit.UpdateWorkerStatus)
HandleWorkerJobStatus(w *Worker, status *livekit.UpdateJobStatus)
HandleWorkerSimulateJob(w *Worker, job *livekit.Job)
HandleWorkerMigrateJob(w *Worker, request *livekit.MigrateJobRequest)
}
type WorkerProtocolVersion ¶
type WorkerProtocolVersion int
Click to show internal directories.
Click to hide internal directories.