github.com/livekit/protocol@v1.39.3/protobufs/rpc/ingress.proto (about) 1 // Copyright 2023 LiveKit, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 syntax = "proto3"; 16 17 package rpc; 18 19 option go_package = "github.com/livekit/protocol/rpc"; 20 21 import "options.proto"; 22 import "livekit_ingress.proto"; 23 import "google/protobuf/empty.proto"; 24 25 service IngressInternal { 26 rpc StartIngress(StartIngressRequest) returns (livekit.IngressInfo) { 27 option (psrpc.options).affinity_func = true; 28 }; 29 30 rpc ListActiveIngress(ListActiveIngressRequest) returns (ListActiveIngressResponse) { 31 option (psrpc.options).multi = true; 32 option (psrpc.options).topics = true; 33 }; 34 35 rpc KillIngressSession(KillIngressSessionRequest) returns (google.protobuf.Empty) { 36 option (psrpc.options) = { 37 topics: true 38 topic_params: { 39 names: ["ingress_id", "resource_id"] 40 typed: false 41 } 42 }; 43 }; 44 } 45 46 service IngressHandler { 47 rpc UpdateIngress(livekit.UpdateIngressRequest) returns (livekit.IngressState) { 48 option (psrpc.options).topics = true; 49 }; 50 rpc DeleteIngress(livekit.DeleteIngressRequest) returns (livekit.IngressState) { 51 option (psrpc.options).topics = true; 52 }; 53 rpc DeleteWHIPResource(DeleteWHIPResourceRequest) returns (google.protobuf.Empty) { 54 option (psrpc.options).topics = true; 55 }; 56 rpc ICERestartWHIPResource(ICERestartWHIPResourceRequest) returns (ICERestartWHIPResourceResponse) { 57 option (psrpc.options).topics = true; 58 }; 59 60 } 61 62 message ListActiveIngressRequest {} 63 64 message ListActiveIngressResponse { 65 repeated string ingress_ids = 1 [deprecated = true]; 66 repeated IngressSession ingress_sessions = 2; 67 } 68 69 message DeleteWHIPResourceRequest { 70 string resource_id = 1; 71 string stream_key = 2; 72 } 73 74 message ICERestartWHIPResourceRequest { 75 string resource_id = 1; 76 string stream_key = 2; 77 string user_fragment = 3; 78 string password = 4; 79 repeated string candidates = 5; 80 } 81 82 message ICERestartWHIPResourceResponse { 83 string trickle_ice_sdpfrag = 1; 84 } 85 86 message StartIngressRequest { 87 livekit.IngressInfo info = 1; 88 string token = 2; 89 string ws_url = 3; 90 map<string,string> logging_fields = 4; 91 } 92 93 message IngressSession { 94 string ingress_id = 1; 95 string resource_id = 2; 96 } 97 98 message KillIngressSessionRequest { 99 IngressSession session = 1; 100 } 101