From d620df75ac409e8dea29d2e0474c64c5e22c4aaa Mon Sep 17 00:00:00 2001 From: David Colburn Date: Thu, 28 Sep 2023 15:11:14 -0700 Subject: [PATCH] add psrpc --- infra/link.pb.go | 2 +- infra/link_grpc.pb.go | 2 +- livekit/livekit_agent.pb.go | 1261 ++++++++++++++++++++++++++ livekit/livekit_analytics.pb.go | 2 +- livekit/livekit_analytics_grpc.pb.go | 2 +- livekit/livekit_egress.pb.go | 2 +- livekit/livekit_ingress.pb.go | 2 +- livekit/livekit_internal.pb.go | 2 +- livekit/livekit_models.pb.go | 2 +- livekit/livekit_room.pb.go | 2 +- livekit/livekit_rtc.pb.go | 2 +- livekit/livekit_webhook.pb.go | 2 +- livekit_agent.proto | 1 - magefile.go | 2 + rpc/agent.pb.go | 94 ++ rpc/agent.proto | 30 + rpc/agent.psrpc.go | 139 +++ rpc/agent_client.go | 10 + rpc/egress.psrpc.go | 28 +- rpc/ingress.psrpc.go | 38 +- rpc/io.psrpc.go | 22 +- rpc/signal.psrpc.go | 2 +- 22 files changed, 1592 insertions(+), 57 deletions(-) create mode 100644 livekit/livekit_agent.pb.go create mode 100644 rpc/agent.pb.go create mode 100644 rpc/agent.proto create mode 100644 rpc/agent.psrpc.go create mode 100644 rpc/agent_client.go diff --git a/infra/link.pb.go b/infra/link.pb.go index d5d033a41..2de3066bb 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v4.23.4 +// protoc v3.21.12 // source: infra/link.proto package infra diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index a7d8284ed..023edcd01 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc v3.21.12 // source: infra/link.proto package infra diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go new file mode 100644 index 000000000..59da6335f --- /dev/null +++ b/livekit/livekit_agent.pb.go @@ -0,0 +1,1261 @@ +// Copyright 2023 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.21.12 +// source: livekit_agent.proto + +package livekit + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +type JobType int32 + +const ( + JobType_JT_ROOM JobType = 0 + JobType_JT_PARTICIPANT JobType = 1 +) + +// Enum value maps for JobType. +var ( + JobType_name = map[int32]string{ + 0: "JT_ROOM", + 1: "JT_PARTICIPANT", + } + JobType_value = map[string]int32{ + "JT_ROOM": 0, + "JT_PARTICIPANT": 1, + } +) + +func (x JobType) Enum() *JobType { + p := new(JobType) + *p = x + return p +} + +func (x JobType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JobType) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_agent_proto_enumTypes[0].Descriptor() +} + +func (JobType) Type() protoreflect.EnumType { + return &file_livekit_agent_proto_enumTypes[0] +} + +func (x JobType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JobType.Descriptor instead. +func (JobType) EnumDescriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{0} +} + +type WorkerStatus int32 + +const ( + WorkerStatus_WS_AVAILABLE WorkerStatus = 0 + WorkerStatus_WS_FULL WorkerStatus = 1 +) + +// Enum value maps for WorkerStatus. +var ( + WorkerStatus_name = map[int32]string{ + 0: "WS_AVAILABLE", + 1: "WS_FULL", + } + WorkerStatus_value = map[string]int32{ + "WS_AVAILABLE": 0, + "WS_FULL": 1, + } +) + +func (x WorkerStatus) Enum() *WorkerStatus { + p := new(WorkerStatus) + *p = x + return p +} + +func (x WorkerStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkerStatus) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_agent_proto_enumTypes[1].Descriptor() +} + +func (WorkerStatus) Type() protoreflect.EnumType { + return &file_livekit_agent_proto_enumTypes[1] +} + +func (x WorkerStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkerStatus.Descriptor instead. +func (WorkerStatus) EnumDescriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{1} +} + +type JobStatus int32 + +const ( + JobStatus_JS_UNKNOWN JobStatus = 0 + JobStatus_JS_SUCCESS JobStatus = 1 + JobStatus_JS_FAILED JobStatus = 2 +) + +// Enum value maps for JobStatus. +var ( + JobStatus_name = map[int32]string{ + 0: "JS_UNKNOWN", + 1: "JS_SUCCESS", + 2: "JS_FAILED", + } + JobStatus_value = map[string]int32{ + "JS_UNKNOWN": 0, + "JS_SUCCESS": 1, + "JS_FAILED": 2, + } +) + +func (x JobStatus) Enum() *JobStatus { + p := new(JobStatus) + *p = x + return p +} + +func (x JobStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JobStatus) Descriptor() protoreflect.EnumDescriptor { + return file_livekit_agent_proto_enumTypes[2].Descriptor() +} + +func (JobStatus) Type() protoreflect.EnumType { + return &file_livekit_agent_proto_enumTypes[2] +} + +func (x JobStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JobStatus.Descriptor instead. +func (JobStatus) EnumDescriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{2} +} + +type AgentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *AgentInfo) Reset() { + *x = AgentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AgentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentInfo) ProtoMessage() {} + +func (x *AgentInfo) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_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 AgentInfo.ProtoReflect.Descriptor instead. +func (*AgentInfo) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{0} +} + +func (x *AgentInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AgentInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AgentInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type Job struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room *Room `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` +} + +func (x *Job) Reset() { + *x = Job{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Job) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Job) ProtoMessage() {} + +func (x *Job) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_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 Job.ProtoReflect.Descriptor instead. +func (*Job) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{1} +} + +func (x *Job) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Job) GetType() JobType { + if x != nil { + return x.Type + } + return JobType_JT_ROOM +} + +func (x *Job) GetRoom() *Room { + if x != nil { + return x.Room + } + return nil +} + +func (x *Job) GetParticipant() *ParticipantInfo { + if x != nil { + return x.Participant + } + return nil +} + +// from Worker to Server +type WorkerMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Message: + // + // *WorkerMessage_Register + // *WorkerMessage_Availability + // *WorkerMessage_Status + // *WorkerMessage_JobUpdate + Message isWorkerMessage_Message `protobuf_oneof:"message"` +} + +func (x *WorkerMessage) Reset() { + *x = WorkerMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkerMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerMessage) ProtoMessage() {} + +func (x *WorkerMessage) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_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 WorkerMessage.ProtoReflect.Descriptor instead. +func (*WorkerMessage) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{2} +} + +func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { + if m != nil { + return m.Message + } + return nil +} + +func (x *WorkerMessage) GetRegister() *RegisterWorkerRequest { + if x, ok := x.GetMessage().(*WorkerMessage_Register); ok { + return x.Register + } + return nil +} + +func (x *WorkerMessage) GetAvailability() *AvailabilityResponse { + if x, ok := x.GetMessage().(*WorkerMessage_Availability); ok { + return x.Availability + } + return nil +} + +func (x *WorkerMessage) GetStatus() *UpdateWorkerStatus { + if x, ok := x.GetMessage().(*WorkerMessage_Status); ok { + return x.Status + } + return nil +} + +func (x *WorkerMessage) GetJobUpdate() *JobStatusUpdate { + if x, ok := x.GetMessage().(*WorkerMessage_JobUpdate); ok { + return x.JobUpdate + } + return nil +} + +type isWorkerMessage_Message interface { + isWorkerMessage_Message() +} + +type WorkerMessage_Register struct { + // agent workers need to register themselves with the server first + Register *RegisterWorkerRequest `protobuf:"bytes,1,opt,name=register,proto3,oneof"` +} + +type WorkerMessage_Availability struct { + // worker confirms to server that it's available for a job, or declines it + Availability *AvailabilityResponse `protobuf:"bytes,2,opt,name=availability,proto3,oneof"` +} + +type WorkerMessage_Status struct { + // worker can update its status to the server, including taking itself out of the pool + Status *UpdateWorkerStatus `protobuf:"bytes,3,opt,name=status,proto3,oneof"` +} + +type WorkerMessage_JobUpdate struct { + JobUpdate *JobStatusUpdate `protobuf:"bytes,4,opt,name=job_update,json=jobUpdate,proto3,oneof"` +} + +func (*WorkerMessage_Register) isWorkerMessage_Message() {} + +func (*WorkerMessage_Availability) isWorkerMessage_Message() {} + +func (*WorkerMessage_Status) isWorkerMessage_Message() {} + +func (*WorkerMessage_JobUpdate) isWorkerMessage_Message() {} + +// from Server to Worker +type ServerMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Message: + // + // *ServerMessage_Register + // *ServerMessage_Availability + // *ServerMessage_Assignment + Message isServerMessage_Message `protobuf_oneof:"message"` +} + +func (x *ServerMessage) Reset() { + *x = ServerMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMessage) ProtoMessage() {} + +func (x *ServerMessage) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_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 ServerMessage.ProtoReflect.Descriptor instead. +func (*ServerMessage) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{3} +} + +func (m *ServerMessage) GetMessage() isServerMessage_Message { + if m != nil { + return m.Message + } + return nil +} + +func (x *ServerMessage) GetRegister() *RegisterWorkerResponse { + if x, ok := x.GetMessage().(*ServerMessage_Register); ok { + return x.Register + } + return nil +} + +func (x *ServerMessage) GetAvailability() *AvailabilityRequest { + if x, ok := x.GetMessage().(*ServerMessage_Availability); ok { + return x.Availability + } + return nil +} + +func (x *ServerMessage) GetAssignment() *JobAssignment { + if x, ok := x.GetMessage().(*ServerMessage_Assignment); ok { + return x.Assignment + } + return nil +} + +type isServerMessage_Message interface { + isServerMessage_Message() +} + +type ServerMessage_Register struct { + // server confirms the registration, from this moment on, the worker is considered active + Register *RegisterWorkerResponse `protobuf:"bytes,1,opt,name=register,proto3,oneof"` +} + +type ServerMessage_Availability struct { + // server asks worker to confirm availability for a job + Availability *AvailabilityRequest `protobuf:"bytes,2,opt,name=availability,proto3,oneof"` +} + +type ServerMessage_Assignment struct { + Assignment *JobAssignment `protobuf:"bytes,3,opt,name=assignment,proto3,oneof"` +} + +func (*ServerMessage_Register) isServerMessage_Message() {} + +func (*ServerMessage_Availability) isServerMessage_Message() {} + +func (*ServerMessage_Assignment) isServerMessage_Message() {} + +type RegisterWorkerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + // name of pool for the worker. each job is given to a single worker in each pool + Pool string `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"` + WorkerId string `protobuf:"bytes,3,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RegisterWorkerRequest) Reset() { + *x = RegisterWorkerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterWorkerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterWorkerRequest) ProtoMessage() {} + +func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_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 RegisterWorkerRequest.ProtoReflect.Descriptor instead. +func (*RegisterWorkerRequest) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{4} +} + +func (x *RegisterWorkerRequest) GetType() JobType { + if x != nil { + return x.Type + } + return JobType_JT_ROOM +} + +func (x *RegisterWorkerRequest) GetPool() string { + if x != nil { + return x.Pool + } + return "" +} + +func (x *RegisterWorkerRequest) GetWorkerId() string { + if x != nil { + return x.WorkerId + } + return "" +} + +func (x *RegisterWorkerRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *RegisterWorkerRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type RegisterWorkerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` + ServerVersion string `protobuf:"bytes,2,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"` +} + +func (x *RegisterWorkerResponse) Reset() { + *x = RegisterWorkerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterWorkerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterWorkerResponse) ProtoMessage() {} + +func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[5] + 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 RegisterWorkerResponse.ProtoReflect.Descriptor instead. +func (*RegisterWorkerResponse) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{5} +} + +func (x *RegisterWorkerResponse) GetWorkerId() string { + if x != nil { + return x.WorkerId + } + return "" +} + +func (x *RegisterWorkerResponse) GetServerVersion() string { + if x != nil { + return x.ServerVersion + } + return "" +} + +type AvailabilityRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` +} + +func (x *AvailabilityRequest) Reset() { + *x = AvailabilityRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AvailabilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AvailabilityRequest) ProtoMessage() {} + +func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[6] + 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 AvailabilityRequest.ProtoReflect.Descriptor instead. +func (*AvailabilityRequest) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{6} +} + +func (x *AvailabilityRequest) GetJob() *Job { + if x != nil { + return x.Job + } + return nil +} + +type AvailabilityResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + Available bool `protobuf:"varint,2,opt,name=available,proto3" json:"available,omitempty"` +} + +func (x *AvailabilityResponse) Reset() { + *x = AvailabilityResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AvailabilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AvailabilityResponse) ProtoMessage() {} + +func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[7] + 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 AvailabilityResponse.ProtoReflect.Descriptor instead. +func (*AvailabilityResponse) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{7} +} + +func (x *AvailabilityResponse) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *AvailabilityResponse) GetAvailable() bool { + if x != nil { + return x.Available + } + return false +} + +type JobStatusUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + Status JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + UserData string `protobuf:"bytes,4,opt,name=user_data,json=userData,proto3" json:"user_data,omitempty"` +} + +func (x *JobStatusUpdate) Reset() { + *x = JobStatusUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobStatusUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobStatusUpdate) ProtoMessage() {} + +func (x *JobStatusUpdate) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[8] + 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 JobStatusUpdate.ProtoReflect.Descriptor instead. +func (*JobStatusUpdate) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{8} +} + +func (x *JobStatusUpdate) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *JobStatusUpdate) GetStatus() JobStatus { + if x != nil { + return x.Status + } + return JobStatus_JS_UNKNOWN +} + +func (x *JobStatusUpdate) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *JobStatusUpdate) GetUserData() string { + if x != nil { + return x.UserData + } + return "" +} + +type JobAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` +} + +func (x *JobAssignment) Reset() { + *x = JobAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobAssignment) ProtoMessage() {} + +func (x *JobAssignment) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[9] + 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 JobAssignment.ProtoReflect.Descriptor instead. +func (*JobAssignment) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{9} +} + +func (x *JobAssignment) GetJob() *Job { + if x != nil { + return x.Job + } + return nil +} + +type UpdateWorkerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus" json:"status,omitempty"` +} + +func (x *UpdateWorkerStatus) Reset() { + *x = UpdateWorkerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerStatus) ProtoMessage() {} + +func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[10] + 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 UpdateWorkerStatus.ProtoReflect.Descriptor instead. +func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { + if x != nil { + return x.Status + } + return WorkerStatus_WS_AVAILABLE +} + +var File_livekit_agent_proto protoreflect.FileDescriptor + +var file_livekit_agent_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xaf, 0x01, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x22, 0x8f, 0x02, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, + 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6a, + 0x6f, 0x62, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9c, 0x01, + 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6f, + 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x16, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x13, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, + 0x62, 0x22, 0x4b, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x87, + 0x01, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x43, 0x0a, 0x12, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x2d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x2a, + 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, + 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x54, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, + 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_livekit_agent_proto_rawDescOnce sync.Once + file_livekit_agent_proto_rawDescData = file_livekit_agent_proto_rawDesc +) + +func file_livekit_agent_proto_rawDescGZIP() []byte { + file_livekit_agent_proto_rawDescOnce.Do(func() { + file_livekit_agent_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_agent_proto_rawDescData) + }) + return file_livekit_agent_proto_rawDescData +} + +var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_livekit_agent_proto_goTypes = []interface{}{ + (JobType)(0), // 0: livekit.JobType + (WorkerStatus)(0), // 1: livekit.WorkerStatus + (JobStatus)(0), // 2: livekit.JobStatus + (*AgentInfo)(nil), // 3: livekit.AgentInfo + (*Job)(nil), // 4: livekit.Job + (*WorkerMessage)(nil), // 5: livekit.WorkerMessage + (*ServerMessage)(nil), // 6: livekit.ServerMessage + (*RegisterWorkerRequest)(nil), // 7: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 8: livekit.RegisterWorkerResponse + (*AvailabilityRequest)(nil), // 9: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 10: livekit.AvailabilityResponse + (*JobStatusUpdate)(nil), // 11: livekit.JobStatusUpdate + (*JobAssignment)(nil), // 12: livekit.JobAssignment + (*UpdateWorkerStatus)(nil), // 13: livekit.UpdateWorkerStatus + (*Room)(nil), // 14: livekit.Room + (*ParticipantInfo)(nil), // 15: livekit.ParticipantInfo +} +var file_livekit_agent_proto_depIdxs = []int32{ + 0, // 0: livekit.Job.type:type_name -> livekit.JobType + 14, // 1: livekit.Job.room:type_name -> livekit.Room + 15, // 2: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 7, // 3: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 10, // 4: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 13, // 5: livekit.WorkerMessage.status:type_name -> livekit.UpdateWorkerStatus + 11, // 6: livekit.WorkerMessage.job_update:type_name -> livekit.JobStatusUpdate + 8, // 7: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 9, // 8: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 12, // 9: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 0, // 10: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 4, // 11: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 12: livekit.JobStatusUpdate.status:type_name -> livekit.JobStatus + 4, // 13: livekit.JobAssignment.job:type_name -> livekit.Job + 1, // 14: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_livekit_agent_proto_init() } +func file_livekit_agent_proto_init() { + if File_livekit_agent_proto != nil { + return + } + file_livekit_models_proto_init() + if !protoimpl.UnsafeEnabled { + file_livekit_agent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AgentInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Job); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkerMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServerMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterWorkerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterWorkerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AvailabilityRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AvailabilityResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobStatusUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_livekit_agent_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*WorkerMessage_Register)(nil), + (*WorkerMessage_Availability)(nil), + (*WorkerMessage_Status)(nil), + (*WorkerMessage_JobUpdate)(nil), + } + file_livekit_agent_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ServerMessage_Register)(nil), + (*ServerMessage_Availability)(nil), + (*ServerMessage_Assignment)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_livekit_agent_proto_rawDesc, + NumEnums: 3, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_livekit_agent_proto_goTypes, + DependencyIndexes: file_livekit_agent_proto_depIdxs, + EnumInfos: file_livekit_agent_proto_enumTypes, + MessageInfos: file_livekit_agent_proto_msgTypes, + }.Build() + File_livekit_agent_proto = out.File + file_livekit_agent_proto_rawDesc = nil + file_livekit_agent_proto_goTypes = nil + file_livekit_agent_proto_depIdxs = nil +} diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index e68ddbaef..8d0c69a20 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_analytics_grpc.pb.go b/livekit/livekit_analytics_grpc.pb.go index 5ae976652..bfc0b8f4c 100644 --- a/livekit/livekit_analytics_grpc.pb.go +++ b/livekit/livekit_analytics_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v3.20.3 +// - protoc v3.21.12 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index 0fdd32361..5335c2ff2 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_egress.proto package livekit diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index 556265208..6c1c8c739 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_ingress.proto package livekit diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index cf39437f3..54c89e979 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_internal.proto package livekit diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 17200d1ce..6a9479204 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_models.proto package livekit diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 5fcfb0663..938cba1bf 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_room.proto package livekit diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index 9ba64ed9c..2a8e125e7 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_rtc.proto package livekit diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index 962073750..07e6539b2 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 -// protoc v3.20.3 +// protoc v3.21.12 // source: livekit_webhook.proto package livekit diff --git a/livekit_agent.proto b/livekit_agent.proto index 1ccfe895b..fde3e5261 100644 --- a/livekit_agent.proto +++ b/livekit_agent.proto @@ -19,7 +19,6 @@ option go_package = "github.com/livekit/protocol/livekit"; option csharp_namespace = "LiveKit.Proto"; option ruby_package = "LiveKit::Proto"; -import "google/protobuf/timestamp.proto"; import "livekit_models.proto"; message AgentInfo { diff --git a/magefile.go b/magefile.go index a380e4113..76688bcc3 100644 --- a/magefile.go +++ b/magefile.go @@ -47,6 +47,7 @@ func Proto() error { "livekit_room.proto", } grpcProtoFiles := []string{ + "livekit_agent.proto", "livekit_analytics.proto", "livekit_internal.proto", "livekit_models.proto", @@ -57,6 +58,7 @@ func Proto() error { "infra/link.proto", } psrpcProtoFiles := []string{ + "rpc/agent.proto", "rpc/egress.proto", "rpc/ingress.proto", "rpc/io.proto", diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go new file mode 100644 index 000000000..75b36b0f0 --- /dev/null +++ b/rpc/agent.pb.go @@ -0,0 +1,94 @@ +// Copyright 2023 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.21.12 +// source: rpc/agent.proto + +package rpc + +import ( + livekit "github.com/livekit/protocol/livekit" + _ "github.com/livekit/psrpc/protoc-gen-psrpc/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" +) + +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) +) + +var File_rpc_agent_proto protoreflect.FileDescriptor + +var file_rpc_agent_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x72, 0x70, 0x63, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x03, 0x72, 0x70, 0x63, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x4d, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x08, 0xb2, 0x89, + 0x01, 0x04, 0x10, 0x01, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 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, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_rpc_agent_proto_goTypes = []interface{}{ + (*livekit.Job)(nil), // 0: livekit.Job + (*emptypb.Empty)(nil), // 1: google.protobuf.Empty +} +var file_rpc_agent_proto_depIdxs = []int32{ + 0, // 0: rpc.AgentInternal.JobRequest:input_type -> livekit.Job + 1, // 1: rpc.AgentInternal.JobRequest:output_type -> google.protobuf.Empty + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] 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_rpc_agent_proto_init() } +func file_rpc_agent_proto_init() { + if File_rpc_agent_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rpc_agent_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_rpc_agent_proto_goTypes, + DependencyIndexes: file_rpc_agent_proto_depIdxs, + }.Build() + File_rpc_agent_proto = out.File + file_rpc_agent_proto_rawDesc = nil + file_rpc_agent_proto_goTypes = nil + file_rpc_agent_proto_depIdxs = nil +} diff --git a/rpc/agent.proto b/rpc/agent.proto new file mode 100644 index 000000000..f4cb1efac --- /dev/null +++ b/rpc/agent.proto @@ -0,0 +1,30 @@ +// Copyright 2023 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package rpc; + +option go_package = "github.com/livekit/livekit/pkg/service/rpc"; + +import "google/protobuf/empty.proto"; +import "options.proto"; +import "livekit_agent.proto"; + +service AgentInternal { + rpc JobRequest(livekit.Job) returns (google.protobuf.Empty) { + option (psrpc.options).affinity_func = true; + option (psrpc.options).topics = true; + }; +} diff --git a/rpc/agent.psrpc.go b/rpc/agent.psrpc.go new file mode 100644 index 000000000..3396bfb58 --- /dev/null +++ b/rpc/agent.psrpc.go @@ -0,0 +1,139 @@ +// Code generated by protoc-gen-psrpc v0.3.3, DO NOT EDIT. +// source: rpc/agent.proto + +package rpc + +import ( + "context" + + "github.com/livekit/psrpc" + "github.com/livekit/psrpc/pkg/client" + "github.com/livekit/psrpc/pkg/info" + "github.com/livekit/psrpc/pkg/server" + "github.com/livekit/psrpc/version" +) +import google_protobuf "google.golang.org/protobuf/types/known/emptypb" +import livekit1 "github.com/livekit/protocol/livekit" + +var _ = version.PsrpcVersion_0_3_3 + +// ============================== +// AgentInternal Client Interface +// ============================== + +type AgentInternalClient interface { + JobRequest(ctx context.Context, topic string, req *livekit1.Job, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) +} + +// ================================== +// AgentInternal ServerImpl Interface +// ================================== + +type AgentInternalServerImpl interface { + JobRequest(context.Context, *livekit1.Job) (*google_protobuf.Empty, error) + JobRequestAffinity(*livekit1.Job) float32 +} + +// ============================== +// AgentInternal Server Interface +// ============================== + +type AgentInternalServer interface { + RegisterJobRequestTopic(topic string) error + DeregisterJobRequestTopic(topic string) + + // Close and wait for pending RPCs to complete + Shutdown() + + // Close immediately, without waiting for pending RPCs + Kill() +} + +// ==================== +// AgentInternal Client +// ==================== + +type agentInternalClient struct { + client *client.RPCClient +} + +// NewAgentInternalClient creates a psrpc client that implements the AgentInternalClient interface. +func NewAgentInternalClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (AgentInternalClient, error) { + sd := &info.ServiceDefinition{ + Name: "AgentInternal", + ID: clientID, + } + + sd.RegisterMethod("JobRequest", true, false, true, false) + + rpcClient, err := client.NewRPCClient(sd, bus, opts...) + if err != nil { + return nil, err + } + + return &agentInternalClient{ + client: rpcClient, + }, nil +} + +func (c *agentInternalClient) JobRequest(ctx context.Context, topic string, req *livekit1.Job, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { + return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "JobRequest", []string{topic}, req, opts...) +} + +// ==================== +// AgentInternal Server +// ==================== + +type agentInternalServer struct { + svc AgentInternalServerImpl + rpc *server.RPCServer +} + +// NewAgentInternalServer builds a RPCServer that will route requests +// to the corresponding method in the provided svc implementation. +func NewAgentInternalServer(serverID string, svc AgentInternalServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (AgentInternalServer, error) { + sd := &info.ServiceDefinition{ + Name: "AgentInternal", + ID: serverID, + } + + s := server.NewRPCServer(sd, bus, opts...) + + sd.RegisterMethod("JobRequest", true, false, true, false) + return &agentInternalServer{ + svc: svc, + rpc: s, + }, nil +} + +func (s *agentInternalServer) RegisterJobRequestTopic(topic string) error { + return server.RegisterHandler(s.rpc, "JobRequest", []string{topic}, s.svc.JobRequest, s.svc.JobRequestAffinity) +} + +func (s *agentInternalServer) DeregisterJobRequestTopic(topic string) { + s.rpc.DeregisterHandler("JobRequest", []string{topic}) +} + +func (s *agentInternalServer) Shutdown() { + s.rpc.Close(false) +} + +func (s *agentInternalServer) Kill() { + s.rpc.Close(true) +} + +var psrpcFileDescriptor0 = []byte{ + // 191 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x2a, 0x48, 0xd6, + 0x4f, 0x4c, 0x4f, 0xcd, 0x2b, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x2e, 0x2a, 0x48, + 0x96, 0x92, 0x4e, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x07, 0x0b, 0x25, 0x95, 0xa6, 0xe9, 0xa7, + 0xe6, 0x16, 0x94, 0x54, 0x42, 0x54, 0x48, 0xf1, 0xe6, 0x17, 0x94, 0x64, 0xe6, 0xe7, 0x15, 0x43, + 0xb9, 0xc2, 0x39, 0x99, 0x65, 0xa9, 0xd9, 0x99, 0x25, 0xf1, 0x48, 0xa6, 0x18, 0xf9, 0x73, 0xf1, + 0x3a, 0x82, 0xb8, 0x9e, 0x79, 0x25, 0xa9, 0x45, 0x79, 0x89, 0x39, 0x42, 0x76, 0x5c, 0x5c, 0x5e, + 0xf9, 0x49, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x42, 0x3c, 0x7a, 0x50, 0x4d, 0x7a, 0x5e, + 0xf9, 0x49, 0x52, 0x62, 0x7a, 0x10, 0xeb, 0xf4, 0x60, 0xd6, 0xe9, 0xb9, 0x82, 0xac, 0x53, 0xe2, + 0xda, 0xd4, 0xc9, 0xc8, 0x26, 0xc0, 0xe8, 0xc0, 0x68, 0xc0, 0xe8, 0xa4, 0x13, 0xa5, 0x95, 0x9e, + 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x0f, 0xd5, 0x0d, 0xa7, 0x0b, 0xb2, 0xd3, + 0xf5, 0x8b, 0x53, 0x8b, 0xca, 0x32, 0x93, 0x53, 0xf5, 0x8b, 0x0a, 0x92, 0x93, 0xd8, 0xc0, 0x26, + 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc6, 0x93, 0xd1, 0x7c, 0xde, 0x00, 0x00, 0x00, +} diff --git a/rpc/agent_client.go b/rpc/agent_client.go new file mode 100644 index 000000000..9804a9cf7 --- /dev/null +++ b/rpc/agent_client.go @@ -0,0 +1,10 @@ +package rpc + +import ( + "github.com/livekit/protocol/livekit" + "github.com/livekit/psrpc" +) + +func NewAgentClient(nodeID livekit.NodeID, bus psrpc.MessageBus) (AgentInternalClient, error) { + return NewAgentInternalClient(string(nodeID), bus) +} diff --git a/rpc/egress.psrpc.go b/rpc/egress.psrpc.go index 4459cb96e..42518c0a5 100644 --- a/rpc/egress.psrpc.go +++ b/rpc/egress.psrpc.go @@ -12,7 +12,7 @@ import ( "github.com/livekit/psrpc/pkg/server" "github.com/livekit/psrpc/version" ) -import livekit1 "github.com/livekit/protocol/livekit" +import livekit2 "github.com/livekit/protocol/livekit" var _ = version.PsrpcVersion_0_3_3 @@ -21,7 +21,7 @@ var _ = version.PsrpcVersion_0_3_3 // =============================== type EgressInternalClient interface { - StartEgress(ctx context.Context, topic string, req *StartEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) + StartEgress(ctx context.Context, topic string, req *StartEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) ListActiveEgress(ctx context.Context, req *ListActiveEgressRequest, opts ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveEgressResponse], error) } @@ -31,7 +31,7 @@ type EgressInternalClient interface { // =================================== type EgressInternalServerImpl interface { - StartEgress(context.Context, *StartEgressRequest) (*livekit1.EgressInfo, error) + StartEgress(context.Context, *StartEgressRequest) (*livekit2.EgressInfo, error) StartEgressAffinity(*StartEgressRequest) float32 ListActiveEgress(context.Context, *ListActiveEgressRequest) (*ListActiveEgressResponse, error) @@ -80,8 +80,8 @@ func NewEgressInternalClient(clientID string, bus psrpc.MessageBus, opts ...psrp }, nil } -func (c *egressInternalClient) StartEgress(ctx context.Context, topic string, req *StartEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) { - return client.RequestSingle[*livekit1.EgressInfo](ctx, c.client, "StartEgress", []string{topic}, req, opts...) +func (c *egressInternalClient) StartEgress(ctx context.Context, topic string, req *StartEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) { + return client.RequestSingle[*livekit2.EgressInfo](ctx, c.client, "StartEgress", []string{topic}, req, opts...) } func (c *egressInternalClient) ListActiveEgress(ctx context.Context, req *ListActiveEgressRequest, opts ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveEgressResponse], error) { @@ -143,9 +143,9 @@ func (s *egressInternalServer) Kill() { // ============================== type EgressHandlerClient interface { - UpdateStream(ctx context.Context, topic string, req *livekit1.UpdateStreamRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) + UpdateStream(ctx context.Context, topic string, req *livekit2.UpdateStreamRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) - StopEgress(ctx context.Context, topic string, req *livekit1.StopEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) + StopEgress(ctx context.Context, topic string, req *livekit2.StopEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) } // ================================== @@ -153,9 +153,9 @@ type EgressHandlerClient interface { // ================================== type EgressHandlerServerImpl interface { - UpdateStream(context.Context, *livekit1.UpdateStreamRequest) (*livekit1.EgressInfo, error) + UpdateStream(context.Context, *livekit2.UpdateStreamRequest) (*livekit2.EgressInfo, error) - StopEgress(context.Context, *livekit1.StopEgressRequest) (*livekit1.EgressInfo, error) + StopEgress(context.Context, *livekit2.StopEgressRequest) (*livekit2.EgressInfo, error) } // ============================== @@ -203,12 +203,12 @@ func NewEgressHandlerClient(clientID string, bus psrpc.MessageBus, opts ...psrpc }, nil } -func (c *egressHandlerClient) UpdateStream(ctx context.Context, topic string, req *livekit1.UpdateStreamRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) { - return client.RequestSingle[*livekit1.EgressInfo](ctx, c.client, "UpdateStream", []string{topic}, req, opts...) +func (c *egressHandlerClient) UpdateStream(ctx context.Context, topic string, req *livekit2.UpdateStreamRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) { + return client.RequestSingle[*livekit2.EgressInfo](ctx, c.client, "UpdateStream", []string{topic}, req, opts...) } -func (c *egressHandlerClient) StopEgress(ctx context.Context, topic string, req *livekit1.StopEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error) { - return client.RequestSingle[*livekit1.EgressInfo](ctx, c.client, "StopEgress", []string{topic}, req, opts...) +func (c *egressHandlerClient) StopEgress(ctx context.Context, topic string, req *livekit2.StopEgressRequest, opts ...psrpc.RequestOption) (*livekit2.EgressInfo, error) { + return client.RequestSingle[*livekit2.EgressInfo](ctx, c.client, "StopEgress", []string{topic}, req, opts...) } // ==================== @@ -262,7 +262,7 @@ func (s *egressHandlerServer) Kill() { s.rpc.Close(true) } -var psrpcFileDescriptor0 = []byte{ +var psrpcFileDescriptor1 = []byte{ // 587 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x6f, 0x6f, 0x12, 0x31, 0x18, 0xb7, 0x30, 0x18, 0x3c, 0x8c, 0x49, 0xea, 0xcc, 0xba, 0xdb, 0x96, 0x20, 0x6a, 0x42, 0x16, diff --git a/rpc/ingress.psrpc.go b/rpc/ingress.psrpc.go index cf56b6bc1..b806550e3 100644 --- a/rpc/ingress.psrpc.go +++ b/rpc/ingress.psrpc.go @@ -12,8 +12,8 @@ import ( "github.com/livekit/psrpc/pkg/server" "github.com/livekit/psrpc/version" ) -import google_protobuf3 "google.golang.org/protobuf/types/known/emptypb" -import livekit2 "github.com/livekit/protocol/livekit" +import google_protobuf "google.golang.org/protobuf/types/known/emptypb" +import livekit3 "github.com/livekit/protocol/livekit" var _ = version.PsrpcVersion_0_3_3 @@ -22,7 +22,7 @@ var _ = version.PsrpcVersion_0_3_3 // ================================ type IngressInternalClient interface { - StartIngress(ctx context.Context, req *StartIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressInfo, error) + StartIngress(ctx context.Context, req *StartIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressInfo, error) ListActiveIngress(ctx context.Context, req *ListActiveIngressRequest, opts ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveIngressResponse], error) } @@ -32,7 +32,7 @@ type IngressInternalClient interface { // ==================================== type IngressInternalServerImpl interface { - StartIngress(context.Context, *StartIngressRequest) (*livekit2.IngressInfo, error) + StartIngress(context.Context, *StartIngressRequest) (*livekit3.IngressInfo, error) StartIngressAffinity(*StartIngressRequest) float32 ListActiveIngress(context.Context, *ListActiveIngressRequest) (*ListActiveIngressResponse, error) @@ -79,8 +79,8 @@ func NewIngressInternalClient(clientID string, bus psrpc.MessageBus, opts ...psr }, nil } -func (c *ingressInternalClient) StartIngress(ctx context.Context, req *StartIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressInfo, error) { - return client.RequestSingle[*livekit2.IngressInfo](ctx, c.client, "StartIngress", nil, req, opts...) +func (c *ingressInternalClient) StartIngress(ctx context.Context, req *StartIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressInfo, error) { + return client.RequestSingle[*livekit3.IngressInfo](ctx, c.client, "StartIngress", nil, req, opts...) } func (c *ingressInternalClient) ListActiveIngress(ctx context.Context, req *ListActiveIngressRequest, opts ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveIngressResponse], error) { @@ -140,11 +140,11 @@ func (s *ingressInternalServer) Kill() { // =============================== type IngressHandlerClient interface { - UpdateIngress(ctx context.Context, topic string, req *livekit2.UpdateIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error) + UpdateIngress(ctx context.Context, topic string, req *livekit3.UpdateIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressState, error) - DeleteIngress(ctx context.Context, topic string, req *livekit2.DeleteIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error) + DeleteIngress(ctx context.Context, topic string, req *livekit3.DeleteIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressState, error) - DeleteWHIPResource(ctx context.Context, topic string, req *DeleteWHIPResourceRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) + DeleteWHIPResource(ctx context.Context, topic string, req *DeleteWHIPResourceRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) } // =================================== @@ -152,11 +152,11 @@ type IngressHandlerClient interface { // =================================== type IngressHandlerServerImpl interface { - UpdateIngress(context.Context, *livekit2.UpdateIngressRequest) (*livekit2.IngressState, error) + UpdateIngress(context.Context, *livekit3.UpdateIngressRequest) (*livekit3.IngressState, error) - DeleteIngress(context.Context, *livekit2.DeleteIngressRequest) (*livekit2.IngressState, error) + DeleteIngress(context.Context, *livekit3.DeleteIngressRequest) (*livekit3.IngressState, error) - DeleteWHIPResource(context.Context, *DeleteWHIPResourceRequest) (*google_protobuf3.Empty, error) + DeleteWHIPResource(context.Context, *DeleteWHIPResourceRequest) (*google_protobuf.Empty, error) } // =============================== @@ -207,16 +207,16 @@ func NewIngressHandlerClient(clientID string, bus psrpc.MessageBus, opts ...psrp }, nil } -func (c *ingressHandlerClient) UpdateIngress(ctx context.Context, topic string, req *livekit2.UpdateIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error) { - return client.RequestSingle[*livekit2.IngressState](ctx, c.client, "UpdateIngress", []string{topic}, req, opts...) +func (c *ingressHandlerClient) UpdateIngress(ctx context.Context, topic string, req *livekit3.UpdateIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressState, error) { + return client.RequestSingle[*livekit3.IngressState](ctx, c.client, "UpdateIngress", []string{topic}, req, opts...) } -func (c *ingressHandlerClient) DeleteIngress(ctx context.Context, topic string, req *livekit2.DeleteIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error) { - return client.RequestSingle[*livekit2.IngressState](ctx, c.client, "DeleteIngress", []string{topic}, req, opts...) +func (c *ingressHandlerClient) DeleteIngress(ctx context.Context, topic string, req *livekit3.DeleteIngressRequest, opts ...psrpc.RequestOption) (*livekit3.IngressState, error) { + return client.RequestSingle[*livekit3.IngressState](ctx, c.client, "DeleteIngress", []string{topic}, req, opts...) } -func (c *ingressHandlerClient) DeleteWHIPResource(ctx context.Context, topic string, req *DeleteWHIPResourceRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) { - return client.RequestSingle[*google_protobuf3.Empty](ctx, c.client, "DeleteWHIPResource", []string{topic}, req, opts...) +func (c *ingressHandlerClient) DeleteWHIPResource(ctx context.Context, topic string, req *DeleteWHIPResourceRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { + return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "DeleteWHIPResource", []string{topic}, req, opts...) } // ===================== @@ -279,7 +279,7 @@ func (s *ingressHandlerServer) Kill() { s.rpc.Close(true) } -var psrpcFileDescriptor1 = []byte{ +var psrpcFileDescriptor2 = []byte{ // 449 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x51, 0x6f, 0xd3, 0x30, 0x10, 0xc7, 0xe5, 0x76, 0x54, 0xec, 0xc6, 0x80, 0x99, 0x15, 0x65, 0x41, 0x83, 0x29, 0x4f, 0x15, diff --git a/rpc/io.psrpc.go b/rpc/io.psrpc.go index 5f52d0031..05dffd36b 100644 --- a/rpc/io.psrpc.go +++ b/rpc/io.psrpc.go @@ -12,8 +12,8 @@ import ( "github.com/livekit/psrpc/pkg/server" "github.com/livekit/psrpc/version" ) -import google_protobuf3 "google.golang.org/protobuf/types/known/emptypb" -import livekit1 "github.com/livekit/protocol/livekit" +import google_protobuf "google.golang.org/protobuf/types/known/emptypb" +import livekit2 "github.com/livekit/protocol/livekit" var _ = version.PsrpcVersion_0_3_3 @@ -22,11 +22,11 @@ var _ = version.PsrpcVersion_0_3_3 // ======================= type IOInfoClient interface { - UpdateEgressInfo(ctx context.Context, req *livekit1.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) + UpdateEgressInfo(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) GetIngressInfo(ctx context.Context, req *GetIngressInfoRequest, opts ...psrpc.RequestOption) (*GetIngressInfoResponse, error) - UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) + UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) } // =========================== @@ -34,11 +34,11 @@ type IOInfoClient interface { // =========================== type IOInfoServerImpl interface { - UpdateEgressInfo(context.Context, *livekit1.EgressInfo) (*google_protobuf3.Empty, error) + UpdateEgressInfo(context.Context, *livekit2.EgressInfo) (*google_protobuf.Empty, error) GetIngressInfo(context.Context, *GetIngressInfoRequest) (*GetIngressInfoResponse, error) - UpdateIngressState(context.Context, *UpdateIngressStateRequest) (*google_protobuf3.Empty, error) + UpdateIngressState(context.Context, *UpdateIngressStateRequest) (*google_protobuf.Empty, error) } // ======================= @@ -83,16 +83,16 @@ func NewIOInfoClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.Client }, nil } -func (c *iOInfoClient) UpdateEgressInfo(ctx context.Context, req *livekit1.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) { - return client.RequestSingle[*google_protobuf3.Empty](ctx, c.client, "UpdateEgressInfo", nil, req, opts...) +func (c *iOInfoClient) UpdateEgressInfo(ctx context.Context, req *livekit2.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { + return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "UpdateEgressInfo", nil, req, opts...) } func (c *iOInfoClient) GetIngressInfo(ctx context.Context, req *GetIngressInfoRequest, opts ...psrpc.RequestOption) (*GetIngressInfoResponse, error) { return client.RequestSingle[*GetIngressInfoResponse](ctx, c.client, "GetIngressInfo", nil, req, opts...) } -func (c *iOInfoClient) UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error) { - return client.RequestSingle[*google_protobuf3.Empty](ctx, c.client, "UpdateIngressState", nil, req, opts...) +func (c *iOInfoClient) UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) { + return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "UpdateIngressState", nil, req, opts...) } // ============= @@ -150,7 +150,7 @@ func (s *iOInfoServer) Kill() { s.rpc.Close(true) } -var psrpcFileDescriptor2 = []byte{ +var psrpcFileDescriptor3 = []byte{ // 348 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0x61, 0x4b, 0x02, 0x41, 0x10, 0xc5, 0x4c, 0xc1, 0x31, 0x22, 0x36, 0x4f, 0xec, 0xa4, 0x08, 0x3f, 0x49, 0xc5, 0x1e, 0xd8, diff --git a/rpc/signal.psrpc.go b/rpc/signal.psrpc.go index c6510773a..71416dd86 100644 --- a/rpc/signal.psrpc.go +++ b/rpc/signal.psrpc.go @@ -119,7 +119,7 @@ func (s *signalServer[NodeIdTopicType]) Kill() { s.rpc.Close(true) } -var psrpcFileDescriptor3 = []byte{ +var psrpcFileDescriptor4 = []byte{ // 313 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xcf, 0x4e, 0x02, 0x31, 0x10, 0xc6, 0x53, 0x17, 0x10, 0x8b, 0x24, 0x58, 0x14, 0x9a, 0x3d, 0x6d, 0x38, 0x6d, 0x8c, 0xe9,