Compare commits
31 Commits
@livekit/p
...
github.com
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17f16c6d15 | ||
|
|
fd19ad24b8 | ||
|
|
2d50a79222 | ||
|
|
6d5a8047e6 | ||
|
|
bad3fc9684 | ||
|
|
524ca6a3a3 | ||
|
|
e418881086 | ||
|
|
da776daae7 | ||
|
|
91a1cc854d | ||
|
|
0bc8068edc | ||
|
|
2bce16cdcc | ||
|
|
b7e396271d | ||
|
|
cb008da1d6 | ||
|
|
2d633a51d8 | ||
|
|
e746785292 | ||
|
|
ef65d2b4c8 | ||
|
|
b6a979d8cf | ||
|
|
c69c1b0580 | ||
|
|
fec2972501 | ||
|
|
14e8de50d5 | ||
|
|
0519f4b851 | ||
|
|
bc6c7ffd71 | ||
|
|
fc68e8d82b | ||
|
|
766ababa37 | ||
|
|
93ff4a23a3 | ||
|
|
38f2e3216c | ||
|
|
e2c0cf8043 | ||
|
|
a512748415 | ||
|
|
a2f6423fd1 | ||
|
|
9b0ad21a6f | ||
|
|
0d9caadf76 |
2
.github/workflows/buildtest.yaml
vendored
2
.github/workflows/buildtest.yaml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: 1.21
|
||||
go-version-file: 'go.mod'
|
||||
|
||||
- name: Set up gotestfmt
|
||||
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@v2.4.1
|
||||
|
||||
2
.idea/.gitignore
generated
vendored
2
.idea/.gitignore
generated
vendored
@@ -6,3 +6,5 @@
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# GitHub Copilot persisted chat sessions
|
||||
/copilot/chatSessions
|
||||
|
||||
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,5 +1,29 @@
|
||||
# github.com/livekit/protocol
|
||||
|
||||
## 1.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Added real-time Transcription protocol - [#686](https://github.com/livekit/protocol/pull/686) ([@davidzhao](https://github.com/davidzhao))
|
||||
|
||||
- WHIP protocol change - [#680](https://github.com/livekit/protocol/pull/680) ([@biglittlebigben](https://github.com/biglittlebigben))
|
||||
|
||||
Deprecate the bypass_transcoding property in all ingress APIs and introduce the optional enable_transcoding property. This property will default to false for WHIP and to true for all other ingress types.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Add SIP participant name. - [#687](https://github.com/livekit/protocol/pull/687) ([@dennwc](https://github.com/dennwc))
|
||||
|
||||
## 1.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Add and option to play ringtone for SIP outbound calls. - [#671](https://github.com/livekit/protocol/pull/671) ([@dennwc](https://github.com/dennwc))
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Add initial support for slog. - [#668](https://github.com/livekit/protocol/pull/668) ([@dennwc](https://github.com/dennwc))
|
||||
|
||||
## 1.12.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
31
agent/token.go
Normal file
31
agent/token.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package agent
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/livekit/protocol/auth"
|
||||
"github.com/livekit/protocol/livekit"
|
||||
)
|
||||
|
||||
func BuildAgentToken(apiKey, secret, roomName, participantIdentity, participantName, participantMetadata string, permissions *livekit.ParticipantPermission) (string, error) {
|
||||
grant := &auth.VideoGrant{
|
||||
RoomJoin: true,
|
||||
Agent: true,
|
||||
Room: roomName,
|
||||
CanSubscribe: &permissions.CanSubscribe,
|
||||
CanPublish: &permissions.CanPublish,
|
||||
CanPublishData: &permissions.CanPublishData,
|
||||
Hidden: permissions.Hidden,
|
||||
CanUpdateOwnMetadata: &permissions.CanUpdateMetadata,
|
||||
}
|
||||
|
||||
at := auth.NewAccessToken(apiKey, secret).
|
||||
AddGrant(grant).
|
||||
SetIdentity(participantIdentity).
|
||||
SetName(participantName).
|
||||
SetKind(livekit.ParticipantInfo_AGENT).
|
||||
SetValidFor(1 * time.Hour).
|
||||
SetMetadata(participantMetadata)
|
||||
|
||||
return at.ToJWT()
|
||||
}
|
||||
@@ -45,6 +45,11 @@ type EncodedOutputDeprecated interface {
|
||||
GetSegments() *livekit.SegmentedFileOutput
|
||||
}
|
||||
|
||||
type DirectOutput interface {
|
||||
GetFile() *livekit.DirectFileOutput
|
||||
GetWebsocketUrl() string
|
||||
}
|
||||
|
||||
func GetTypes(request interface{}) (string, string) {
|
||||
switch req := request.(type) {
|
||||
case *livekit.EgressInfo_RoomComposite:
|
||||
@@ -60,48 +65,54 @@ func GetTypes(request interface{}) (string, string) {
|
||||
return EgressTypeTrackComposite, GetOutputType(req.TrackComposite)
|
||||
|
||||
case *livekit.EgressInfo_Track:
|
||||
switch req.Track.Output.(type) {
|
||||
case *livekit.TrackEgressRequest_File:
|
||||
return EgressTypeTrack, OutputTypeFile
|
||||
case *livekit.TrackEgressRequest_WebsocketUrl:
|
||||
return EgressTypeTrack, OutputTypeStream
|
||||
}
|
||||
return EgressTypeTrack, GetOutputType(req.Track)
|
||||
}
|
||||
|
||||
return Unknown, Unknown
|
||||
}
|
||||
|
||||
func GetOutputType(req EncodedOutput) string {
|
||||
outputs := make([]string, 0)
|
||||
if len(req.GetFileOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeFile)
|
||||
}
|
||||
if len(req.GetStreamOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeStream)
|
||||
}
|
||||
if len(req.GetSegmentOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeSegments)
|
||||
}
|
||||
if len(req.GetImageOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeImages)
|
||||
func GetOutputType(req interface{}) string {
|
||||
if r, ok := req.(EncodedOutput); ok {
|
||||
outputs := make([]string, 0)
|
||||
if len(r.GetFileOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeFile)
|
||||
}
|
||||
if len(r.GetStreamOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeStream)
|
||||
}
|
||||
if len(r.GetSegmentOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeSegments)
|
||||
}
|
||||
if len(r.GetImageOutputs()) > 0 {
|
||||
outputs = append(outputs, OutputTypeImages)
|
||||
}
|
||||
|
||||
switch len(outputs) {
|
||||
default:
|
||||
return OutputTypeMultiple
|
||||
case 1:
|
||||
return outputs[0]
|
||||
case 0:
|
||||
if r, ok := req.(EncodedOutputDeprecated); ok {
|
||||
if r.GetFile() != nil {
|
||||
return OutputTypeFile
|
||||
}
|
||||
if r.GetStream() != nil {
|
||||
return OutputTypeStream
|
||||
}
|
||||
if r.GetSegments() != nil {
|
||||
return OutputTypeSegments
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch len(outputs) {
|
||||
default:
|
||||
return OutputTypeMultiple
|
||||
case 1:
|
||||
return outputs[0]
|
||||
case 0:
|
||||
if r, ok := req.(EncodedOutputDeprecated); ok {
|
||||
if r.GetFile() != nil {
|
||||
return OutputTypeFile
|
||||
}
|
||||
if r.GetStream() != nil {
|
||||
return OutputTypeStream
|
||||
}
|
||||
if r.GetSegments() != nil {
|
||||
return OutputTypeSegments
|
||||
}
|
||||
if r, ok := req.(DirectOutput); ok {
|
||||
if r.GetFile() != nil {
|
||||
return OutputTypeFile
|
||||
}
|
||||
if r.GetWebsocketUrl() != "" {
|
||||
return OutputTypeStream
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
10
go.mod
10
go.mod
@@ -1,8 +1,9 @@
|
||||
module github.com/livekit/protocol
|
||||
|
||||
go 1.21
|
||||
go 1.22
|
||||
|
||||
require (
|
||||
github.com/benbjohnson/clock v1.3.5
|
||||
github.com/eapache/channels v1.1.0
|
||||
github.com/frostbyte73/core v0.0.10
|
||||
github.com/fsnotify/fsnotify v1.7.0
|
||||
@@ -30,6 +31,7 @@ require (
|
||||
go.uber.org/atomic v1.11.0
|
||||
go.uber.org/multierr v1.11.0
|
||||
go.uber.org/zap v1.27.0
|
||||
go.uber.org/zap/exp v0.2.0
|
||||
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225
|
||||
golang.org/x/mod v0.16.0
|
||||
google.golang.org/grpc v1.62.0
|
||||
@@ -68,10 +70,10 @@ require (
|
||||
github.com/prometheus/client_model v0.5.0 // indirect
|
||||
github.com/prometheus/common v0.48.0 // indirect
|
||||
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.19.0 // indirect
|
||||
golang.org/x/net v0.21.0 // indirect
|
||||
golang.org/x/crypto v0.21.0 // indirect
|
||||
golang.org/x/net v0.23.0 // indirect
|
||||
golang.org/x/sync v0.6.0 // indirect
|
||||
golang.org/x/sys v0.17.0 // indirect
|
||||
golang.org/x/sys v0.18.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
golang.org/x/tools v0.18.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect
|
||||
|
||||
14
go.sum
14
go.sum
@@ -1,3 +1,5 @@
|
||||
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
|
||||
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||
@@ -188,6 +190,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
|
||||
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
|
||||
go.uber.org/zap/exp v0.2.0 h1:FtGenNNeCATRB3CmB/yEUnjEFeJWpB/pMcy7e2bKPYs=
|
||||
go.uber.org/zap/exp v0.2.0/go.mod h1:t0gqAIdh1MfKv9EwN/dLwfZnJxe9ITAZN78HEWPFWDQ=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
@@ -196,8 +200,9 @@ golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE
|
||||
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
|
||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
||||
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
|
||||
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
||||
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
||||
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
|
||||
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
@@ -220,8 +225,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
|
||||
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
|
||||
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
|
||||
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
|
||||
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
||||
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
|
||||
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -252,8 +257,9 @@ golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
||||
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
|
||||
@@ -67,6 +67,11 @@ func ValidateForSerialization(info *livekit.IngressInfo) error {
|
||||
return err
|
||||
}
|
||||
|
||||
err = ValidateEnableTranscoding(info)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = ValidateVideoOptionsConsistency(info.Video)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -103,6 +108,35 @@ func ValidateBypassTranscoding(info *livekit.IngressInfo) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidateEnableTranscoding(info *livekit.IngressInfo) error {
|
||||
var enableTranscoding bool
|
||||
if info.InputType == livekit.IngressInput_WHIP_INPUT {
|
||||
enableTranscoding = false
|
||||
if info.EnableTranscoding != nil {
|
||||
enableTranscoding = *info.EnableTranscoding
|
||||
}
|
||||
} else {
|
||||
enableTranscoding = true
|
||||
if info.EnableTranscoding != nil && *info.EnableTranscoding == false {
|
||||
return NewInvalidTranscodingBypassError("bypassing transcoding impossible with selected input type")
|
||||
}
|
||||
}
|
||||
|
||||
if !enableTranscoding {
|
||||
videoOptions := info.Video
|
||||
if videoOptions != nil && videoOptions.EncodingOptions != nil {
|
||||
return NewInvalidTranscodingBypassError("video encoding options must be empty if transcoding is disabled")
|
||||
}
|
||||
|
||||
audioOptions := info.Audio
|
||||
if audioOptions != nil && audioOptions.EncodingOptions != nil {
|
||||
return NewInvalidTranscodingBypassError("audio encoding options must be empty if transcoding is disabled")
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidateVideoOptionsConsistency(options *livekit.IngressVideoOptions) error {
|
||||
if options == nil {
|
||||
return nil
|
||||
|
||||
@@ -100,6 +100,49 @@ func TestValidateBypassTranscoding(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestValidateEnableTranscoding(t *testing.T) {
|
||||
info := &livekit.IngressInfo{}
|
||||
T := true
|
||||
F := false
|
||||
|
||||
err := ValidateEnableTranscoding(info)
|
||||
require.NoError(t, err)
|
||||
|
||||
info.InputType = livekit.IngressInput_WHIP_INPUT
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.NoError(t, err)
|
||||
|
||||
info.Audio = &livekit.IngressAudioOptions{}
|
||||
info.Audio.EncodingOptions = &livekit.IngressAudioOptions_Options{}
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.Error(t, err)
|
||||
|
||||
info.Audio.EncodingOptions = nil
|
||||
|
||||
info.EnableTranscoding = &T
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.NoError(t, err)
|
||||
|
||||
info.EnableTranscoding = &F
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.NoError(t, err)
|
||||
|
||||
info.Video = &livekit.IngressVideoOptions{}
|
||||
info.Video.EncodingOptions = &livekit.IngressVideoOptions_Preset{}
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.Error(t, err)
|
||||
|
||||
info.Video.EncodingOptions = nil
|
||||
|
||||
info.InputType = livekit.IngressInput_RTMP_INPUT
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.Error(t, err)
|
||||
|
||||
info.EnableTranscoding = &T
|
||||
err = ValidateEnableTranscoding(info)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestValidateVideoOptionsConsistency(t *testing.T) {
|
||||
video := &livekit.IngressVideoOptions{}
|
||||
err := ValidateVideoOptionsConsistency(video)
|
||||
@@ -219,6 +262,7 @@ func TestValidateVideoOptionsConsistency(t *testing.T) {
|
||||
Quality: livekit.VideoQuality_HIGH,
|
||||
},
|
||||
}
|
||||
|
||||
err = ValidateVideoOptionsConsistency(video)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -297,6 +297,8 @@ type AnalyticsStream struct {
|
||||
Plis uint32 `protobuf:"varint,13,opt,name=plis,proto3" json:"plis,omitempty"`
|
||||
Firs uint32 `protobuf:"varint,14,opt,name=firs,proto3" json:"firs,omitempty"`
|
||||
VideoLayers []*AnalyticsVideoLayer `protobuf:"bytes,15,rep,name=video_layers,json=videoLayers,proto3" json:"video_layers,omitempty"`
|
||||
StartTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
|
||||
EndTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AnalyticsStream) Reset() {
|
||||
@@ -436,6 +438,20 @@ func (x *AnalyticsStream) GetVideoLayers() []*AnalyticsVideoLayer {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AnalyticsStream) GetStartTime() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.StartTime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AnalyticsStream) GetEndTime() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.EndTime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type AnalyticsStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -454,7 +470,6 @@ type AnalyticsStat struct {
|
||||
Mime string `protobuf:"bytes,11,opt,name=mime,proto3" json:"mime,omitempty"`
|
||||
MinScore float32 `protobuf:"fixed32,12,opt,name=min_score,json=minScore,proto3" json:"min_score,omitempty"`
|
||||
MedianScore float32 `protobuf:"fixed32,13,opt,name=median_score,json=medianScore,proto3" json:"median_score,omitempty"`
|
||||
ProjectId string `protobuf:"bytes,14,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AnalyticsStat) Reset() {
|
||||
@@ -580,13 +595,6 @@ func (x *AnalyticsStat) GetMedianScore() float32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *AnalyticsStat) GetProjectId() string {
|
||||
if x != nil {
|
||||
return x.ProjectId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type AnalyticsStats struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -646,6 +654,9 @@ type AnalyticsClientMeta struct {
|
||||
// udp, tcp, turn
|
||||
ConnectionType string `protobuf:"bytes,5,opt,name=connection_type,json=connectionType,proto3" json:"connection_type,omitempty"`
|
||||
ReconnectReason ReconnectReason `protobuf:"varint,6,opt,name=reconnect_reason,json=reconnectReason,proto3,enum=livekit.ReconnectReason" json:"reconnect_reason,omitempty"`
|
||||
GeoHash *string `protobuf:"bytes,7,opt,name=geo_hash,json=geoHash,proto3,oneof" json:"geo_hash,omitempty"`
|
||||
Country *string `protobuf:"bytes,8,opt,name=country,proto3,oneof" json:"country,omitempty"`
|
||||
IspAsn *uint32 `protobuf:"varint,9,opt,name=isp_asn,json=ispAsn,proto3,oneof" json:"isp_asn,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AnalyticsClientMeta) Reset() {
|
||||
@@ -722,6 +733,27 @@ func (x *AnalyticsClientMeta) GetReconnectReason() ReconnectReason {
|
||||
return ReconnectReason_RR_UNKNOWN
|
||||
}
|
||||
|
||||
func (x *AnalyticsClientMeta) GetGeoHash() string {
|
||||
if x != nil && x.GeoHash != nil {
|
||||
return *x.GeoHash
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyticsClientMeta) GetCountry() string {
|
||||
if x != nil && x.Country != nil {
|
||||
return *x.Country
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyticsClientMeta) GetIspAsn() uint32 {
|
||||
if x != nil && x.IspAsn != nil {
|
||||
return *x.IspAsn
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type AnalyticsEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -748,7 +780,6 @@ type AnalyticsEvent struct {
|
||||
Error string `protobuf:"bytes,20,opt,name=error,proto3" json:"error,omitempty"`
|
||||
RtpStats *RTPStats `protobuf:"bytes,21,opt,name=rtp_stats,json=rtpStats,proto3" json:"rtp_stats,omitempty"`
|
||||
VideoLayer int32 `protobuf:"varint,22,opt,name=video_layer,json=videoLayer,proto3" json:"video_layer,omitempty"`
|
||||
ProjectId string `protobuf:"bytes,23,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AnalyticsEvent) Reset() {
|
||||
@@ -930,13 +961,6 @@ func (x *AnalyticsEvent) GetVideoLayer() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *AnalyticsEvent) GetProjectId() string {
|
||||
if x != nil {
|
||||
return x.ProjectId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type AnalyticsEvents struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -1070,6 +1094,7 @@ type AnalyticsRoom struct {
|
||||
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
Participants []*AnalyticsRoomParticipant `protobuf:"bytes,4,rep,name=participants,proto3" json:"participants,omitempty"`
|
||||
}
|
||||
@@ -1120,6 +1145,13 @@ func (x *AnalyticsRoom) GetName() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyticsRoom) GetProjectId() string {
|
||||
if x != nil {
|
||||
return x.ProjectId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AnalyticsRoom) GetCreatedAt() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
@@ -1225,7 +1257,7 @@ var file_livekit_analytics_proto_rawDesc = []byte{
|
||||
0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79,
|
||||
0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xff, 0x03, 0x0a, 0x0f, 0x41, 0x6e, 0x61,
|
||||
0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xf1, 0x04, 0x0a, 0x0f, 0x41, 0x6e, 0x61,
|
||||
0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x73, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x73, 0x72, 0x63,
|
||||
0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b,
|
||||
@@ -1257,223 +1289,236 @@ var file_livekit_analytics_proto_rawDesc = []byte{
|
||||
0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
|
||||
0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x76,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xe1, 0x03, 0x0a, 0x0d, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d,
|
||||
0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65,
|
||||
0x79, 0x12, 0x27, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||
0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74,
|
||||
0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
|
||||
0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
|
||||
0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49,
|
||||
0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02,
|
||||
0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61,
|
||||
0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d,
|
||||
0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12,
|
||||
0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01,
|
||||
0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c,
|
||||
0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x02, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
|
||||
0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x3e,
|
||||
0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
|
||||
0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x80,
|
||||
0x02, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f,
|
||||
0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64,
|
||||
0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41,
|
||||
0x64, 0x64, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f,
|
||||
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f,
|
||||
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x10,
|
||||
0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
||||
0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
|
||||
0x6e, 0x22, 0xbc, 0x07, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45,
|
||||
0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61,
|
||||
0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
|
||||
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
||||
0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
|
||||
0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d,
|
||||
0x18, 0x04, 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, 0x25, 0x0a, 0x0e, 0x70,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
|
||||
0x74, 0x18, 0x06, 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, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x19,
|
||||
0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61,
|
||||
0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72,
|
||||
0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
|
||||
0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d,
|
||||
0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e,
|
||||
0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74,
|
||||
0x61, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b, 0x0a,
|
||||
0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||
0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x1c, 0x6d, 0x61, 0x78,
|
||||
0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x64, 0x65,
|
||||
0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51,
|
||||
0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x73, 0x63,
|
||||
0x72, 0x69, 0x62, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74,
|
||||
0x79, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x0f,
|
||||
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, 0x52, 0x09,
|
||||
0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
|
||||
0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x69, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69,
|
||||
0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
|
||||
0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
||||
0x12, 0x2e, 0x0a, 0x09, 0x72, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x15, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54,
|
||||
0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x72, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18,
|
||||
0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65,
|
||||
0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
|
||||
0x22, 0x42, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65,
|
||||
0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e,
|
||||
0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
|
||||
0x65, 0x6e, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
|
||||
0x63, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65,
|
||||
0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74,
|
||||
0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x6f,
|
||||
0x6f, 0x6d, 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, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
||||
0x74, 0x12, 0x45, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x12, 0x41, 0x6e, 0x61,
|
||||
0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12,
|
||||
0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75,
|
||||
0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
|
||||
0x72, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x05, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x6f,
|
||||
0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2a, 0x2a, 0x0a, 0x0a, 0x53, 0x74, 0x72,
|
||||
0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x53, 0x54, 0x52,
|
||||
0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52,
|
||||
0x45, 0x41, 0x4d, 0x10, 0x01, 0x2a, 0x95, 0x05, 0x0a, 0x12, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
|
||||
0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c,
|
||||
0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e,
|
||||
0x0a, 0x0a, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16,
|
||||
0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f,
|
||||
0x49, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43,
|
||||
0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f,
|
||||
0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10,
|
||||
0x04, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
|
||||
0x53, 0x48, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x14, 0x12, 0x15,
|
||||
0x0a, 0x11, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53,
|
||||
0x48, 0x45, 0x44, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53,
|
||||
0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x54,
|
||||
0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x52,
|
||||
0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52,
|
||||
0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x46, 0x41,
|
||||
0x49, 0x4c, 0x45, 0x44, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f,
|
||||
0x55, 0x4e, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1a,
|
||||
0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45,
|
||||
0x44, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52,
|
||||
0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x54,
|
||||
0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x18, 0x12, 0x17,
|
||||
0x0a, 0x13, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f,
|
||||
0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1a, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, 0x41, 0x43, 0x4b,
|
||||
0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53,
|
||||
0x10, 0x1b, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e,
|
||||
0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41,
|
||||
0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45,
|
||||
0x44, 0x10, 0x16, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54,
|
||||
0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x47, 0x52, 0x45, 0x53,
|
||||
0x53, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52,
|
||||
0x45, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x1c, 0x12, 0x26, 0x0a,
|
||||
0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43,
|
||||
0x52, 0x49, 0x42, 0x45, 0x44, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c,
|
||||
0x49, 0x54, 0x59, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45,
|
||||
0x43, 0x54, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53,
|
||||
0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x49,
|
||||
0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x13,
|
||||
0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52,
|
||||
0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53,
|
||||
0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x11, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52,
|
||||
0x45, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x1d, 0x32, 0xf5, 0x01,
|
||||
0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x49, 0x6e,
|
||||
0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 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, 0x00, 0x28, 0x01, 0x12, 0x44,
|
||||
0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x18,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
|
||||
0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 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, 0x00, 0x28, 0x01, 0x12, 0x4f, 0x0a, 0x14, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6c,
|
||||
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
|
||||
0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
||||
0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc2, 0x03, 0x0a,
|
||||
0x0d, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x23,
|
||||
0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
|
||||
0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0a,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f,
|
||||
0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63,
|
||||
0x6b, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63,
|
||||
0x6b, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01,
|
||||
0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x74, 0x72,
|
||||
0x65, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74,
|
||||
0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c,
|
||||
0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21,
|
||||
0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d,
|
||||
0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72,
|
||||
0x65, 0x22, 0x3e, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61,
|
||||
0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
|
||||
0x73, 0x22, 0x82, 0x03, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43,
|
||||
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
|
||||
0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
|
||||
0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x43, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61,
|
||||
0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61,
|
||||
0x73, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65,
|
||||
0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x67, 0x65, 0x6f, 0x5f, 0x68, 0x61, 0x73, 0x68,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x6f, 0x48, 0x61, 0x73,
|
||||
0x68, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x69, 0x73, 0x70, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x09,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x69, 0x73, 0x70, 0x41, 0x73, 0x6e, 0x88, 0x01,
|
||||
0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0a,
|
||||
0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69,
|
||||
0x73, 0x70, 0x5f, 0x61, 0x73, 0x6e, 0x22, 0x9d, 0x07, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79,
|
||||
0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74,
|
||||
0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a,
|
||||
0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x04, 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, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
|
||||
0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x06, 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, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
|
||||
0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x28,
|
||||
0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a,
|
||||
0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69,
|
||||
0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65,
|
||||
0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65,
|
||||
0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12,
|
||||
0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x56,
|
||||
0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64,
|
||||
0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x19, 0x6d, 0x61, 0x78,
|
||||
0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51,
|
||||
0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
|
||||
0x68, 0x65, 0x72, 0x18, 0x0f, 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, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69,
|
||||
0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x2e, 0x0a, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x72, 0x74, 0x70,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6c,
|
||||
0x61, 0x79, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65,
|
||||
0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
|
||||
0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x76, 0x65,
|
||||
0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65,
|
||||
0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x18, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74,
|
||||
0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74,
|
||||
0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a,
|
||||
0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6a, 0x6f,
|
||||
0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x0d, 0x41, 0x6e, 0x61, 0x6c, 0x79,
|
||||
0x74, 0x69, 0x63, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 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, 0x1d, 0x0a, 0x0a,
|
||||
0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x45, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
|
||||
0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
|
||||
0x4e, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 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, 0x00, 0x28, 0x01, 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,
|
||||
0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52,
|
||||
0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xbe, 0x01,
|
||||
0x0a, 0x12, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52,
|
||||
0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a,
|
||||
0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
|
||||
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
||||
0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x12, 0x2c, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74,
|
||||
0x69, 0x63, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2a, 0x2a,
|
||||
0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08,
|
||||
0x55, 0x50, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f,
|
||||
0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x2a, 0x95, 0x05, 0x0a, 0x12, 0x41,
|
||||
0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
|
||||
0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
|
||||
0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x44, 0x45,
|
||||
0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41,
|
||||
0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50,
|
||||
0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10,
|
||||
0x03, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
|
||||
0x53, 0x48, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f,
|
||||
0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45,
|
||||
0x44, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50,
|
||||
0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52,
|
||||
0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x06,
|
||||
0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52,
|
||||
0x49, 0x42, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x15, 0x12,
|
||||
0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49,
|
||||
0x42, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x54,
|
||||
0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45,
|
||||
0x44, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42,
|
||||
0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12,
|
||||
0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x17,
|
||||
0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45,
|
||||
0x44, 0x10, 0x18, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42,
|
||||
0x4c, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1a, 0x12, 0x19, 0x0a, 0x15,
|
||||
0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f,
|
||||
0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49,
|
||||
0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x0b, 0x12,
|
||||
0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52,
|
||||
0x45, 0x53, 0x55, 0x4d, 0x45, 0x44, 0x10, 0x16, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45,
|
||||
0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c,
|
||||
0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x12,
|
||||
0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44,
|
||||
0x10, 0x1c, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x41, 0x58, 0x5f,
|
||||
0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f,
|
||||
0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45,
|
||||
0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x49,
|
||||
0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x12,
|
||||
0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45,
|
||||
0x54, 0x45, 0x44, 0x10, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53,
|
||||
0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e,
|
||||
0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x11, 0x12, 0x13, 0x0a,
|
||||
0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44,
|
||||
0x10, 0x1d, 0x32, 0xf5, 0x01, 0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73,
|
||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
|
||||
0x42, 0x0a, 0x0b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,
|
||||
0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 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,
|
||||
0x00, 0x28, 0x01, 0x12, 0x44, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65,
|
||||
0x6e, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e,
|
||||
0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 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, 0x00, 0x28, 0x01, 0x12, 0x4f, 0x0a, 0x14, 0x49, 0x6e, 0x67,
|
||||
0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x73, 0x12, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
|
||||
0x79, 0x74, 0x69, 0x63, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 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, 0x00, 0x28, 0x01, 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 (
|
||||
@@ -1518,41 +1563,43 @@ var file_livekit_analytics_proto_goTypes = []interface{}{
|
||||
}
|
||||
var file_livekit_analytics_proto_depIdxs = []int32{
|
||||
2, // 0: livekit.AnalyticsStream.video_layers:type_name -> livekit.AnalyticsVideoLayer
|
||||
0, // 1: livekit.AnalyticsStat.kind:type_name -> livekit.StreamType
|
||||
12, // 2: livekit.AnalyticsStat.time_stamp:type_name -> google.protobuf.Timestamp
|
||||
3, // 3: livekit.AnalyticsStat.streams:type_name -> livekit.AnalyticsStream
|
||||
4, // 4: livekit.AnalyticsStats.stats:type_name -> livekit.AnalyticsStat
|
||||
13, // 5: livekit.AnalyticsClientMeta.reconnect_reason:type_name -> livekit.ReconnectReason
|
||||
1, // 6: livekit.AnalyticsEvent.type:type_name -> livekit.AnalyticsEventType
|
||||
12, // 7: livekit.AnalyticsEvent.timestamp:type_name -> google.protobuf.Timestamp
|
||||
14, // 8: livekit.AnalyticsEvent.room:type_name -> livekit.Room
|
||||
15, // 9: livekit.AnalyticsEvent.participant:type_name -> livekit.ParticipantInfo
|
||||
16, // 10: livekit.AnalyticsEvent.track:type_name -> livekit.TrackInfo
|
||||
17, // 11: livekit.AnalyticsEvent.client_info:type_name -> livekit.ClientInfo
|
||||
6, // 12: livekit.AnalyticsEvent.client_meta:type_name -> livekit.AnalyticsClientMeta
|
||||
18, // 13: livekit.AnalyticsEvent.max_subscribed_video_quality:type_name -> livekit.VideoQuality
|
||||
15, // 14: livekit.AnalyticsEvent.publisher:type_name -> livekit.ParticipantInfo
|
||||
19, // 15: livekit.AnalyticsEvent.egress:type_name -> livekit.EgressInfo
|
||||
20, // 16: livekit.AnalyticsEvent.ingress:type_name -> livekit.IngressInfo
|
||||
21, // 17: livekit.AnalyticsEvent.rtp_stats:type_name -> livekit.RTPStats
|
||||
7, // 18: livekit.AnalyticsEvents.events:type_name -> livekit.AnalyticsEvent
|
||||
22, // 19: livekit.AnalyticsRoomParticipant.state:type_name -> livekit.ParticipantInfo.State
|
||||
12, // 20: livekit.AnalyticsRoomParticipant.joined_at:type_name -> google.protobuf.Timestamp
|
||||
12, // 21: livekit.AnalyticsRoom.created_at:type_name -> google.protobuf.Timestamp
|
||||
9, // 22: livekit.AnalyticsRoom.participants:type_name -> livekit.AnalyticsRoomParticipant
|
||||
12, // 23: livekit.AnalyticsNodeRooms.timestamp:type_name -> google.protobuf.Timestamp
|
||||
10, // 24: livekit.AnalyticsNodeRooms.rooms:type_name -> livekit.AnalyticsRoom
|
||||
5, // 25: livekit.AnalyticsRecorderService.IngestStats:input_type -> livekit.AnalyticsStats
|
||||
8, // 26: livekit.AnalyticsRecorderService.IngestEvents:input_type -> livekit.AnalyticsEvents
|
||||
11, // 27: livekit.AnalyticsRecorderService.IngestNodeRoomStates:input_type -> livekit.AnalyticsNodeRooms
|
||||
23, // 28: livekit.AnalyticsRecorderService.IngestStats:output_type -> google.protobuf.Empty
|
||||
23, // 29: livekit.AnalyticsRecorderService.IngestEvents:output_type -> google.protobuf.Empty
|
||||
23, // 30: livekit.AnalyticsRecorderService.IngestNodeRoomStates:output_type -> google.protobuf.Empty
|
||||
28, // [28:31] is the sub-list for method output_type
|
||||
25, // [25:28] is the sub-list for method input_type
|
||||
25, // [25:25] is the sub-list for extension type_name
|
||||
25, // [25:25] is the sub-list for extension extendee
|
||||
0, // [0:25] is the sub-list for field type_name
|
||||
12, // 1: livekit.AnalyticsStream.start_time:type_name -> google.protobuf.Timestamp
|
||||
12, // 2: livekit.AnalyticsStream.end_time:type_name -> google.protobuf.Timestamp
|
||||
0, // 3: livekit.AnalyticsStat.kind:type_name -> livekit.StreamType
|
||||
12, // 4: livekit.AnalyticsStat.time_stamp:type_name -> google.protobuf.Timestamp
|
||||
3, // 5: livekit.AnalyticsStat.streams:type_name -> livekit.AnalyticsStream
|
||||
4, // 6: livekit.AnalyticsStats.stats:type_name -> livekit.AnalyticsStat
|
||||
13, // 7: livekit.AnalyticsClientMeta.reconnect_reason:type_name -> livekit.ReconnectReason
|
||||
1, // 8: livekit.AnalyticsEvent.type:type_name -> livekit.AnalyticsEventType
|
||||
12, // 9: livekit.AnalyticsEvent.timestamp:type_name -> google.protobuf.Timestamp
|
||||
14, // 10: livekit.AnalyticsEvent.room:type_name -> livekit.Room
|
||||
15, // 11: livekit.AnalyticsEvent.participant:type_name -> livekit.ParticipantInfo
|
||||
16, // 12: livekit.AnalyticsEvent.track:type_name -> livekit.TrackInfo
|
||||
17, // 13: livekit.AnalyticsEvent.client_info:type_name -> livekit.ClientInfo
|
||||
6, // 14: livekit.AnalyticsEvent.client_meta:type_name -> livekit.AnalyticsClientMeta
|
||||
18, // 15: livekit.AnalyticsEvent.max_subscribed_video_quality:type_name -> livekit.VideoQuality
|
||||
15, // 16: livekit.AnalyticsEvent.publisher:type_name -> livekit.ParticipantInfo
|
||||
19, // 17: livekit.AnalyticsEvent.egress:type_name -> livekit.EgressInfo
|
||||
20, // 18: livekit.AnalyticsEvent.ingress:type_name -> livekit.IngressInfo
|
||||
21, // 19: livekit.AnalyticsEvent.rtp_stats:type_name -> livekit.RTPStats
|
||||
7, // 20: livekit.AnalyticsEvents.events:type_name -> livekit.AnalyticsEvent
|
||||
22, // 21: livekit.AnalyticsRoomParticipant.state:type_name -> livekit.ParticipantInfo.State
|
||||
12, // 22: livekit.AnalyticsRoomParticipant.joined_at:type_name -> google.protobuf.Timestamp
|
||||
12, // 23: livekit.AnalyticsRoom.created_at:type_name -> google.protobuf.Timestamp
|
||||
9, // 24: livekit.AnalyticsRoom.participants:type_name -> livekit.AnalyticsRoomParticipant
|
||||
12, // 25: livekit.AnalyticsNodeRooms.timestamp:type_name -> google.protobuf.Timestamp
|
||||
10, // 26: livekit.AnalyticsNodeRooms.rooms:type_name -> livekit.AnalyticsRoom
|
||||
5, // 27: livekit.AnalyticsRecorderService.IngestStats:input_type -> livekit.AnalyticsStats
|
||||
8, // 28: livekit.AnalyticsRecorderService.IngestEvents:input_type -> livekit.AnalyticsEvents
|
||||
11, // 29: livekit.AnalyticsRecorderService.IngestNodeRoomStates:input_type -> livekit.AnalyticsNodeRooms
|
||||
23, // 30: livekit.AnalyticsRecorderService.IngestStats:output_type -> google.protobuf.Empty
|
||||
23, // 31: livekit.AnalyticsRecorderService.IngestEvents:output_type -> google.protobuf.Empty
|
||||
23, // 32: livekit.AnalyticsRecorderService.IngestNodeRoomStates:output_type -> google.protobuf.Empty
|
||||
30, // [30:33] is the sub-list for method output_type
|
||||
27, // [27:30] is the sub-list for method input_type
|
||||
27, // [27:27] is the sub-list for extension type_name
|
||||
27, // [27:27] is the sub-list for extension extendee
|
||||
0, // [0:27] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_livekit_analytics_proto_init() }
|
||||
@@ -1685,6 +1732,7 @@ func file_livekit_analytics_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_livekit_analytics_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
|
||||
@@ -272,8 +272,12 @@ type CreateIngressRequest struct {
|
||||
ParticipantName string `protobuf:"bytes,5,opt,name=participant_name,json=participantName,proto3" json:"participant_name,omitempty"`
|
||||
// metadata associated with the publishing participant
|
||||
ParticipantMetadata string `protobuf:"bytes,10,opt,name=participant_metadata,json=participantMetadata,proto3" json:"participant_metadata,omitempty"`
|
||||
// whether to pass through the incoming media without transcoding, only compatible with some input types
|
||||
BypassTranscoding bool `protobuf:"varint,8,opt,name=bypass_transcoding,json=bypassTranscoding,proto3" json:"bypass_transcoding,omitempty"`
|
||||
// [depreacted ] whether to pass through the incoming media without transcoding, only compatible with some input types. Use `enable_transcoding` instead.
|
||||
//
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
BypassTranscoding bool `protobuf:"varint,8,opt,name=bypass_transcoding,json=bypassTranscoding,proto3" json:"bypass_transcoding,omitempty"`
|
||||
// Whether to transcode the ingested media. Only WHIP supports disabling transcoding currently. WHIP will default to transcoding disabled. Replaces `bypass_transcoding.
|
||||
EnableTranscoding *bool `protobuf:"varint,11,opt,name=enable_transcoding,json=enableTranscoding,proto3,oneof" json:"enable_transcoding,omitempty"`
|
||||
Audio *IngressAudioOptions `protobuf:"bytes,6,opt,name=audio,proto3" json:"audio,omitempty"`
|
||||
Video *IngressVideoOptions `protobuf:"bytes,7,opt,name=video,proto3" json:"video,omitempty"`
|
||||
}
|
||||
@@ -359,6 +363,7 @@ func (x *CreateIngressRequest) GetParticipantMetadata() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
func (x *CreateIngressRequest) GetBypassTranscoding() bool {
|
||||
if x != nil {
|
||||
return x.BypassTranscoding
|
||||
@@ -366,6 +371,13 @@ func (x *CreateIngressRequest) GetBypassTranscoding() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *CreateIngressRequest) GetEnableTranscoding() bool {
|
||||
if x != nil && x.EnableTranscoding != nil {
|
||||
return *x.EnableTranscoding
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *CreateIngressRequest) GetAudio() *IngressAudioOptions {
|
||||
if x != nil {
|
||||
return x.Audio
|
||||
@@ -723,8 +735,10 @@ type IngressInfo struct {
|
||||
// for RTMP input, it'll be a rtmp:// URL
|
||||
// for FILE input, it'll be a http:// URL
|
||||
// for SRT input, it'll be a srt:// URL
|
||||
InputType IngressInput `protobuf:"varint,5,opt,name=input_type,json=inputType,proto3,enum=livekit.IngressInput" json:"input_type,omitempty"`
|
||||
InputType IngressInput `protobuf:"varint,5,opt,name=input_type,json=inputType,proto3,enum=livekit.IngressInput" json:"input_type,omitempty"`
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
BypassTranscoding bool `protobuf:"varint,13,opt,name=bypass_transcoding,json=bypassTranscoding,proto3" json:"bypass_transcoding,omitempty"`
|
||||
EnableTranscoding *bool `protobuf:"varint,15,opt,name=enable_transcoding,json=enableTranscoding,proto3,oneof" json:"enable_transcoding,omitempty"`
|
||||
Audio *IngressAudioOptions `protobuf:"bytes,6,opt,name=audio,proto3" json:"audio,omitempty"`
|
||||
Video *IngressVideoOptions `protobuf:"bytes,7,opt,name=video,proto3" json:"video,omitempty"`
|
||||
RoomName string `protobuf:"bytes,8,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
||||
@@ -802,6 +816,7 @@ func (x *IngressInfo) GetInputType() IngressInput {
|
||||
return IngressInput_RTMP_INPUT
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
func (x *IngressInfo) GetBypassTranscoding() bool {
|
||||
if x != nil {
|
||||
return x.BypassTranscoding
|
||||
@@ -809,6 +824,13 @@ func (x *IngressInfo) GetBypassTranscoding() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *IngressInfo) GetEnableTranscoding() bool {
|
||||
if x != nil && x.EnableTranscoding != nil {
|
||||
return *x.EnableTranscoding
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *IngressInfo) GetAudio() *IngressAudioOptions {
|
||||
if x != nil {
|
||||
return x.Audio
|
||||
@@ -877,6 +899,7 @@ type IngressState struct {
|
||||
RoomId string `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` // ID of the current/previous room published to
|
||||
StartedAt int64 `protobuf:"varint,7,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
|
||||
EndedAt int64 `protobuf:"varint,8,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"`
|
||||
UpdatedAt int64 `protobuf:"varint,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
ResourceId string `protobuf:"bytes,9,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
|
||||
Tracks []*TrackInfo `protobuf:"bytes,6,rep,name=tracks,proto3" json:"tracks,omitempty"`
|
||||
}
|
||||
@@ -962,6 +985,13 @@ func (x *IngressState) GetEndedAt() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *IngressState) GetUpdatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.UpdatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *IngressState) GetResourceId() string {
|
||||
if x != nil {
|
||||
return x.ResourceId
|
||||
@@ -1131,15 +1161,17 @@ type UpdateIngressRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
IngressId string `protobuf:"bytes,1,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
RoomName string `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
||||
ParticipantIdentity string `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
|
||||
ParticipantName string `protobuf:"bytes,5,opt,name=participant_name,json=participantName,proto3" json:"participant_name,omitempty"`
|
||||
ParticipantMetadata string `protobuf:"bytes,9,opt,name=participant_metadata,json=participantMetadata,proto3" json:"participant_metadata,omitempty"`
|
||||
BypassTranscoding *bool `protobuf:"varint,8,opt,name=bypass_transcoding,json=bypassTranscoding,proto3,oneof" json:"bypass_transcoding,omitempty"`
|
||||
Audio *IngressAudioOptions `protobuf:"bytes,6,opt,name=audio,proto3" json:"audio,omitempty"`
|
||||
Video *IngressVideoOptions `protobuf:"bytes,7,opt,name=video,proto3" json:"video,omitempty"`
|
||||
IngressId string `protobuf:"bytes,1,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
RoomName string `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
||||
ParticipantIdentity string `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
|
||||
ParticipantName string `protobuf:"bytes,5,opt,name=participant_name,json=participantName,proto3" json:"participant_name,omitempty"`
|
||||
ParticipantMetadata string `protobuf:"bytes,9,opt,name=participant_metadata,json=participantMetadata,proto3" json:"participant_metadata,omitempty"`
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
BypassTranscoding *bool `protobuf:"varint,8,opt,name=bypass_transcoding,json=bypassTranscoding,proto3,oneof" json:"bypass_transcoding,omitempty"`
|
||||
EnableTranscoding *bool `protobuf:"varint,10,opt,name=enable_transcoding,json=enableTranscoding,proto3,oneof" json:"enable_transcoding,omitempty"`
|
||||
Audio *IngressAudioOptions `protobuf:"bytes,6,opt,name=audio,proto3" json:"audio,omitempty"`
|
||||
Video *IngressVideoOptions `protobuf:"bytes,7,opt,name=video,proto3" json:"video,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UpdateIngressRequest) Reset() {
|
||||
@@ -1216,6 +1248,7 @@ func (x *UpdateIngressRequest) GetParticipantMetadata() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in livekit_ingress.proto.
|
||||
func (x *UpdateIngressRequest) GetBypassTranscoding() bool {
|
||||
if x != nil && x.BypassTranscoding != nil {
|
||||
return *x.BypassTranscoding
|
||||
@@ -1223,6 +1256,13 @@ func (x *UpdateIngressRequest) GetBypassTranscoding() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *UpdateIngressRequest) GetEnableTranscoding() bool {
|
||||
if x != nil && x.EnableTranscoding != nil {
|
||||
return *x.EnableTranscoding
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *UpdateIngressRequest) GetAudio() *IngressAudioOptions {
|
||||
if x != nil {
|
||||
return x.Audio
|
||||
@@ -1393,7 +1433,7 @@ var file_livekit_ingress_proto_rawDesc = []byte{
|
||||
0x0a, 0x15, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 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, 0xb7, 0x03, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x04, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e,
|
||||
@@ -1411,248 +1451,265 @@ var file_livekit_ingress_proto_rawDesc = []byte{
|
||||
0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
|
||||
0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
|
||||
0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x79, 0x70,
|
||||
0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x62, 0x79, 0x70,
|
||||
0x61, 0x73, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x54, 0x72, 0x61,
|
||||
0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x05,
|
||||
0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69,
|
||||
0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64,
|
||||
0x65, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x22, 0xec, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x06,
|
||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72,
|
||||
0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x72,
|
||||
0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x48,
|
||||
0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x65,
|
||||
0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
|
||||
0xec, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73,
|
||||
0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x12,
|
||||
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01,
|
||||
0x12, 0x32, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61,
|
||||
0x75, 0x64, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x65, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22,
|
||||
0xec, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73,
|
||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69,
|
||||
0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x72, 0x65,
|
||||
0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x48, 0x00,
|
||||
0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48,
|
||||
0x00, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x65, 0x6e,
|
||||
0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaa,
|
||||
0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45,
|
||||
0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34,
|
||||
0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75,
|
||||
0x64, 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1f,
|
||||
0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x1b,
|
||||
0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xec,
|
||||
0x01, 0x0a, 0x13, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x6f,
|
||||
0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||
0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73,
|
||||
0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x45,
|
||||
0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52,
|
||||
0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x45,
|
||||
0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00,
|
||||
0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x65, 0x6e, 0x63,
|
||||
0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaa, 0x01,
|
||||
0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e,
|
||||
0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a,
|
||||
0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x64,
|
||||
0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f,
|
||||
0x64, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x76, 0x69,
|
||||
0x64, 0x65, 0x6f, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x63, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12,
|
||||
0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c,
|
||||
0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x84, 0x05, 0x0a,
|
||||
0x0b, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
|
||||
0x12, 0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x69, 0x6e, 0x70,
|
||||
0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73,
|
||||
0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x54, 0x72,
|
||||
0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x12, 0x65, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18,
|
||||
0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54,
|
||||
0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a,
|
||||
0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75,
|
||||
0x64, 0x69, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05,
|
||||
0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
|
||||
0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f,
|
||||
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
|
||||
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
||||
0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18,
|
||||
0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12,
|
||||
0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13,
|
||||
0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x22, 0xf6, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
|
||||
0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
||||
0x12, 0x2e, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x12, 0x2e, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41,
|
||||
0x75, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
|
||||
0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
|
||||
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65,
|
||||
0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65,
|
||||
0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
|
||||
0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72,
|
||||
0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22,
|
||||
0x7b, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44,
|
||||
0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00,
|
||||
0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x46,
|
||||
0x46, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x44, 0x50,
|
||||
0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10,
|
||||
0x02, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x45, 0x52,
|
||||
0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e,
|
||||
0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x22, 0xa3, 0x01, 0x0a,
|
||||
0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a,
|
||||
0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42,
|
||||
0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65,
|
||||
0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x74,
|
||||
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 0x61,
|
||||
0x74, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69,
|
||||
0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54,
|
||||
0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62,
|
||||
0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x76,
|
||||
0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
|
||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70,
|
||||
0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
|
||||
0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0xf9, 0x03, 0x0a, 0x14, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
|
||||
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
|
||||
0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f,
|
||||
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
|
||||
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
||||
0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x12, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x72,
|
||||
0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42,
|
||||
0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x54, 0x72, 0x61,
|
||||
0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x65,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12,
|
||||
0x32, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x41, 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61, 0x75,
|
||||
0x64, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x79, 0x70, 0x61,
|
||||
0x73, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x15,
|
||||
0x0a, 0x13, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63,
|
||||
0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||
0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
|
||||
0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
|
||||
0x64, 0x2a, 0x3d, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x4d, 0x50, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10,
|
||||
0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x48, 0x49, 0x50, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10,
|
||||
0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x52, 0x4c, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x02,
|
||||
0x2a, 0x49, 0x0a, 0x1a, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x16,
|
||||
0x0a, 0x12, 0x4f, 0x50, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x5f, 0x39, 0x36,
|
||||
0x4b, 0x42, 0x50, 0x53, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x55, 0x53, 0x5f, 0x4d,
|
||||
0x4f, 0x4e, 0x4f, 0x5f, 0x36, 0x34, 0x4b, 0x42, 0x53, 0x10, 0x01, 0x2a, 0x84, 0x03, 0x0a, 0x1a,
|
||||
0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x45, 0x6e, 0x63, 0x6f,
|
||||
0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x76,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65,
|
||||
0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65,
|
||||
0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xb5, 0x04,
|
||||
0x0a, 0x0b, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a,
|
||||
0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
|
||||
0x6c, 0x12, 0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
|
||||
0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x69, 0x6e,
|
||||
0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x79, 0x70, 0x61, 0x73,
|
||||
0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73,
|
||||
0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
|
||||
0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x70, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x69,
|
||||
0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1b,
|
||||
0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74,
|
||||
0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69,
|
||||
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29,
|
||||
0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
|
||||
0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72,
|
||||
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
||||
0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
|
||||
0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
|
||||
0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
|
||||
0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xd7, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72,
|
||||
0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x69, 0x64,
|
||||
0x65, 0x6f, 0x12, 0x2e, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x61, 0x75, 0x64,
|
||||
0x69, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
|
||||
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
|
||||
0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e,
|
||||
0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
|
||||
0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73,
|
||||
0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63,
|
||||
0x6b, 0x73, 0x22, 0x7b, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x11,
|
||||
0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56,
|
||||
0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f,
|
||||
0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45,
|
||||
0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x49,
|
||||
0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54,
|
||||
0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x50,
|
||||
0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x22,
|
||||
0xa3, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x74,
|
||||
0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||
0x12, 0x27, 0x0a, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x72,
|
||||
0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x76, 0x65, 0x72, 0x61,
|
||||
0x67, 0x65, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
|
||||
0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65,
|
||||
0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d,
|
||||
0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41,
|
||||
0x75, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d,
|
||||
0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69,
|
||||
0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67,
|
||||
0x65, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0e, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
|
||||
0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0xaa, 0x03, 0x0a,
|
||||
0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d,
|
||||
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f,
|
||||
0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65,
|
||||
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x12, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73,
|
||||
0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01,
|
||||
0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x54, 0x72, 0x61, 0x6e,
|
||||
0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x75,
|
||||
0x64, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
||||
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x32,
|
||||
0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56,
|
||||
0x69, 0x64, 0x65, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x69, 0x64,
|
||||
0x65, 0x6f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x72,
|
||||
0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x13, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x35,
|
||||
0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x49, 0x64, 0x2a, 0x3d, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x4d, 0x50, 0x5f, 0x49, 0x4e,
|
||||
0x50, 0x55, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x48, 0x49, 0x50, 0x5f, 0x49, 0x4e,
|
||||
0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x52, 0x4c, 0x5f, 0x49, 0x4e, 0x50,
|
||||
0x55, 0x54, 0x10, 0x02, 0x2a, 0x49, 0x0a, 0x1a, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41,
|
||||
0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73,
|
||||
0x65, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45,
|
||||
0x4f, 0x5f, 0x39, 0x36, 0x4b, 0x42, 0x50, 0x53, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50,
|
||||
0x55, 0x53, 0x5f, 0x4d, 0x4f, 0x4e, 0x4f, 0x5f, 0x36, 0x34, 0x4b, 0x42, 0x53, 0x10, 0x01, 0x2a,
|
||||
0x84, 0x03, 0x0a, 0x1a, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f,
|
||||
0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1c,
|
||||
0x0a, 0x18, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50,
|
||||
0x53, 0x5f, 0x33, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19,
|
||||
0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53,
|
||||
0x5f, 0x33, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x48,
|
||||
0x32, 0x36, 0x34, 0x5f, 0x35, 0x34, 0x30, 0x50, 0x5f, 0x32, 0x35, 0x46, 0x50, 0x53, 0x5f, 0x32,
|
||||
0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x48, 0x32, 0x36,
|
||||
0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c,
|
||||
0x41, 0x59, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x31,
|
||||
0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59,
|
||||
0x45, 0x52, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30,
|
||||
0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x33, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53,
|
||||
0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x29,
|
||||
0x0a, 0x25, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46,
|
||||
0x50, 0x53, 0x5f, 0x33, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x48, 0x49, 0x47, 0x48,
|
||||
0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x48, 0x32, 0x36,
|
||||
0x34, 0x5f, 0x35, 0x34, 0x30, 0x50, 0x5f, 0x32, 0x35, 0x46, 0x50, 0x53, 0x5f, 0x32, 0x5f, 0x4c,
|
||||
0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
|
||||
0x4e, 0x10, 0x07, 0x12, 0x27, 0x0a, 0x23, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50,
|
||||
0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x48,
|
||||
0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x28, 0x0a, 0x24,
|
||||
0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53,
|
||||
0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f,
|
||||
0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x32, 0xa5, 0x02, 0x0a, 0x07, 0x49, 0x6e, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48,
|
||||
0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 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,
|
||||
0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x32,
|
||||
0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x33, 0x5f,
|
||||
0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x32, 0x36, 0x34,
|
||||
0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x33, 0x5f, 0x4c,
|
||||
0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x32, 0x36, 0x34, 0x5f,
|
||||
0x35, 0x34, 0x30, 0x50, 0x5f, 0x32, 0x35, 0x46, 0x50, 0x53, 0x5f, 0x32, 0x5f, 0x4c, 0x41, 0x59,
|
||||
0x45, 0x52, 0x53, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32,
|
||||
0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52,
|
||||
0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50,
|
||||
0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x04,
|
||||
0x12, 0x28, 0x0a, 0x24, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30,
|
||||
0x46, 0x50, 0x53, 0x5f, 0x33, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x48, 0x49, 0x47,
|
||||
0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, 0x48, 0x32,
|
||||
0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x33,
|
||||
0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54,
|
||||
0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x35, 0x34,
|
||||
0x30, 0x50, 0x5f, 0x32, 0x35, 0x46, 0x50, 0x53, 0x5f, 0x32, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52,
|
||||
0x53, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12,
|
||||
0x27, 0x0a, 0x23, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46,
|
||||
0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f,
|
||||
0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x28, 0x0a, 0x24, 0x48, 0x32, 0x36, 0x34,
|
||||
0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x46, 0x50, 0x53, 0x5f, 0x31, 0x5f, 0x4c,
|
||||
0x41, 0x59, 0x45, 0x52, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
|
||||
0x10, 0x09, 0x32, 0xa5, 0x02, 0x0a, 0x07, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x44,
|
||||
0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0b, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49,
|
||||
0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 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 (
|
||||
@@ -1896,6 +1953,7 @@ func file_livekit_ingress_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_livekit_ingress_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_livekit_ingress_proto_msgTypes[1].OneofWrappers = []interface{}{
|
||||
(*IngressAudioOptions_Preset)(nil),
|
||||
(*IngressAudioOptions_Options)(nil),
|
||||
@@ -1904,6 +1962,7 @@ func file_livekit_ingress_proto_init() {
|
||||
(*IngressVideoOptions_Preset)(nil),
|
||||
(*IngressVideoOptions_Options)(nil),
|
||||
}
|
||||
file_livekit_ingress_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
file_livekit_ingress_proto_msgTypes[9].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
|
||||
@@ -1356,93 +1356,96 @@ func (s *ingressServer) PathPrefix() string {
|
||||
}
|
||||
|
||||
var twirpFileDescriptor1 = []byte{
|
||||
// 1401 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6e, 0xdb, 0xc6,
|
||||
0x13, 0x36, 0x25, 0xeb, 0xdf, 0x28, 0x92, 0x95, 0x95, 0x9c, 0x30, 0xfe, 0x83, 0x9f, 0xa1, 0xe4,
|
||||
0x87, 0x38, 0x4e, 0xab, 0x38, 0x8a, 0x93, 0xb6, 0x01, 0x02, 0xd4, 0xb2, 0xe5, 0x88, 0xb0, 0x2c,
|
||||
0x09, 0x2b, 0x39, 0x45, 0x7b, 0x59, 0xd0, 0xe2, 0xc6, 0x26, 0x22, 0x89, 0x2c, 0xb9, 0x72, 0x23,
|
||||
0xf4, 0xda, 0x43, 0x1f, 0xa0, 0xf7, 0x1e, 0x8a, 0x5e, 0x72, 0x2f, 0xfa, 0x28, 0x7d, 0x87, 0xa2,
|
||||
0x0f, 0x51, 0xec, 0x72, 0x45, 0x93, 0x12, 0x15, 0x24, 0x6d, 0x91, 0xf6, 0xc6, 0x99, 0xef, 0x9b,
|
||||
0xe1, 0xec, 0xcc, 0xec, 0x67, 0xca, 0xb0, 0x3a, 0x30, 0x2f, 0xe9, 0x2b, 0x93, 0x11, 0x73, 0x74,
|
||||
0xee, 0x50, 0xd7, 0xad, 0xd8, 0x8e, 0xc5, 0x2c, 0x94, 0x92, 0xee, 0xb5, 0xd2, 0x14, 0x1f, 0x5a,
|
||||
0x06, 0x1d, 0x48, 0xb8, 0xfc, 0x6b, 0x1c, 0x4a, 0x07, 0x0e, 0xd5, 0x19, 0xd5, 0xbc, 0x30, 0x4c,
|
||||
0xbf, 0x1e, 0x53, 0x97, 0xa1, 0x3d, 0x00, 0x73, 0x64, 0x8f, 0x19, 0x61, 0x13, 0x9b, 0xaa, 0xca,
|
||||
0x96, 0xb2, 0x9d, 0xaf, 0xae, 0x56, 0x64, 0x8e, 0x8a, 0x24, 0x6b, 0x9c, 0x81, 0x33, 0x82, 0xd8,
|
||||
0x9b, 0xd8, 0x14, 0x15, 0x20, 0x3e, 0x76, 0x06, 0x6a, 0x66, 0x4b, 0xd9, 0xce, 0x60, 0xfe, 0x88,
|
||||
0x10, 0x2c, 0x8f, 0xf4, 0x21, 0x55, 0x63, 0xc2, 0x25, 0x9e, 0xd1, 0x3a, 0x64, 0x1c, 0xcb, 0x1a,
|
||||
0x12, 0x01, 0xc4, 0x05, 0x90, 0xe6, 0x8e, 0x16, 0x07, 0x1f, 0x42, 0xc9, 0xd6, 0x1d, 0x66, 0xf6,
|
||||
0x4d, 0x5b, 0x1f, 0x31, 0x62, 0x1a, 0x74, 0xc4, 0x4c, 0x36, 0x51, 0x97, 0x05, 0xaf, 0x18, 0xc0,
|
||||
0x34, 0x09, 0xa1, 0x7b, 0x50, 0x08, 0x86, 0x88, 0xb4, 0x09, 0x41, 0x5f, 0x09, 0xf8, 0xa3, 0xb2,
|
||||
0x0f, 0x29, 0xd3, 0x0d, 0x9d, 0xe9, 0x2a, 0xcc, 0x65, 0x3f, 0x91, 0x10, 0xfa, 0x18, 0xd0, 0xd9,
|
||||
0xc4, 0xd6, 0x5d, 0x97, 0x30, 0x47, 0x1f, 0xb9, 0x7d, 0xcb, 0x30, 0x47, 0xe7, 0x6a, 0x7a, 0x4b,
|
||||
0xd9, 0x4e, 0xe3, 0xeb, 0x1e, 0xd2, 0xbb, 0x02, 0x50, 0x15, 0x12, 0xfa, 0xd8, 0x30, 0x2d, 0x35,
|
||||
0xb9, 0xa5, 0x6c, 0x67, 0xab, 0x1b, 0xb3, 0x3d, 0xdb, 0xe7, 0x60, 0xdb, 0x66, 0xa6, 0x35, 0x72,
|
||||
0xb1, 0x47, 0xe5, 0x31, 0x97, 0xa6, 0x41, 0x2d, 0x35, 0x15, 0x1d, 0xf3, 0x82, 0x83, 0x7e, 0x8c,
|
||||
0xa0, 0x96, 0xff, 0x50, 0xa0, 0x18, 0x91, 0xd2, 0x6f, 0xb8, 0x12, 0x68, 0xf8, 0x47, 0x90, 0x74,
|
||||
0xad, 0xb1, 0xd3, 0xf7, 0xc6, 0x90, 0xaf, 0x96, 0xfc, 0x17, 0xf4, 0x1c, 0xbd, 0xff, 0xaa, 0x2b,
|
||||
0x30, 0x2c, 0x39, 0xe8, 0x19, 0x24, 0x6d, 0x87, 0xba, 0x94, 0x89, 0xd9, 0xe4, 0xab, 0xb7, 0x23,
|
||||
0x8f, 0x50, 0x1f, 0x79, 0x07, 0xee, 0x08, 0x6a, 0x63, 0x09, 0xcb, 0x20, 0xf4, 0x39, 0xa4, 0x2c,
|
||||
0xaf, 0x16, 0x31, 0xb3, 0x6c, 0xf5, 0xce, 0x5b, 0xe3, 0x65, 0xdd, 0x8d, 0x25, 0x3c, 0x0d, 0xab,
|
||||
0x21, 0x28, 0x50, 0x89, 0x12, 0xe9, 0x0b, 0x1e, 0x37, 0xd8, 0x8d, 0x0f, 0x71, 0x5c, 0xf1, 0xbe,
|
||||
0xbf, 0x71, 0xdc, 0x50, 0xfc, 0x3b, 0x1e, 0xf7, 0x8d, 0x02, 0xeb, 0x6f, 0xe9, 0x16, 0xda, 0x83,
|
||||
0xac, 0x58, 0x1d, 0xd2, 0xb7, 0x0c, 0xda, 0x97, 0xf7, 0xb3, 0xe8, 0xbf, 0x59, 0xc4, 0x1c, 0x70,
|
||||
0x08, 0x83, 0xee, 0x3f, 0x23, 0x15, 0x52, 0x67, 0x26, 0x73, 0x74, 0xe6, 0x75, 0x26, 0x87, 0xa7,
|
||||
0x26, 0xfa, 0x1f, 0x64, 0x0d, 0xd3, 0xd5, 0xcf, 0x06, 0x94, 0x18, 0xec, 0xb5, 0xe8, 0x44, 0x1a,
|
||||
0x83, 0x74, 0x1d, 0xb2, 0xd7, 0x68, 0x0d, 0xd2, 0xfd, 0x0b, 0x7d, 0x34, 0xa2, 0x03, 0xef, 0x9c,
|
||||
0x39, 0xec, 0xdb, 0xe5, 0x1f, 0xaf, 0x8a, 0x8d, 0x3a, 0x2b, 0x2f, 0x56, 0xec, 0xec, 0x82, 0x62,
|
||||
0x45, 0x8c, 0x2c, 0xf6, 0xd2, 0x7f, 0x46, 0x9b, 0x00, 0x2f, 0x1d, 0x7d, 0x48, 0x89, 0x5f, 0xaf,
|
||||
0x82, 0x33, 0xc2, 0x83, 0x79, 0xc5, 0xf7, 0x21, 0x39, 0xd0, 0x27, 0xd4, 0x71, 0xd5, 0xf8, 0x56,
|
||||
0x7c, 0x3b, 0x3b, 0x9b, 0xaf, 0xc9, 0x31, 0x2c, 0x29, 0xe5, 0x5f, 0x96, 0x21, 0xeb, 0x6b, 0xd6,
|
||||
0x4b, 0x8b, 0xe7, 0x96, 0x32, 0x49, 0x4c, 0x43, 0xee, 0x4e, 0x46, 0x7a, 0x34, 0x23, 0x52, 0xb4,
|
||||
0x36, 0x01, 0x5c, 0xe6, 0x50, 0x7d, 0x48, 0x5e, 0xd1, 0x89, 0x54, 0xad, 0x8c, 0xe7, 0x39, 0xa6,
|
||||
0x93, 0xa9, 0xf2, 0x2d, 0x5f, 0x29, 0x5f, 0x58, 0x41, 0x13, 0xef, 0xa8, 0xa0, 0xd1, 0x6a, 0x93,
|
||||
0xfb, 0x97, 0xd5, 0x26, 0x2c, 0xd9, 0xe9, 0x77, 0x94, 0xec, 0xcc, 0xfb, 0x49, 0x36, 0xbc, 0x9f,
|
||||
0x64, 0xe7, 0x17, 0x4b, 0xf6, 0x1a, 0xa4, 0x1d, 0x3a, 0x16, 0xbb, 0xab, 0x66, 0x45, 0xeb, 0x7c,
|
||||
0x1b, 0xdd, 0x87, 0x84, 0xcb, 0xf8, 0x46, 0x5d, 0x13, 0xa7, 0x9f, 0x9b, 0x48, 0x97, 0x83, 0xd8,
|
||||
0xe3, 0x94, 0x7f, 0x8b, 0xc3, 0xb5, 0xa0, 0x1f, 0xed, 0x41, 0x92, 0x23, 0x63, 0x57, 0x6e, 0xf1,
|
||||
0x46, 0x64, 0x78, 0xa5, 0x2b, 0x38, 0x58, 0x72, 0x51, 0x09, 0x12, 0xd4, 0x71, 0x2c, 0x47, 0x2e,
|
||||
0x94, 0x67, 0xa0, 0xca, 0x74, 0x0e, 0x71, 0x51, 0x89, 0x1a, 0x48, 0x65, 0x8f, 0x99, 0x98, 0x82,
|
||||
0x2c, 0xc6, 0x9b, 0x41, 0x65, 0x3a, 0xeb, 0xe5, 0x28, 0xbe, 0x98, 0xb4, 0xe4, 0x7b, 0x73, 0xbe,
|
||||
0x09, 0x29, 0x31, 0x33, 0xd3, 0x90, 0x7f, 0x0d, 0x93, 0xdc, 0xd4, 0x0c, 0x6f, 0x95, 0x75, 0x87,
|
||||
0x51, 0x83, 0xe8, 0x4c, 0x6c, 0x41, 0x9c, 0xaf, 0xb2, 0xf0, 0xec, 0x33, 0x74, 0x0b, 0xd2, 0x74,
|
||||
0x64, 0x78, 0x60, 0x5a, 0x80, 0x29, 0x61, 0xef, 0x33, 0x2e, 0x13, 0x0e, 0xf5, 0x74, 0x93, 0xa7,
|
||||
0xf5, 0x06, 0x0c, 0x53, 0x97, 0x66, 0xa0, 0x1d, 0x48, 0x32, 0xae, 0xb1, 0xae, 0x9a, 0x14, 0xb7,
|
||||
0x12, 0x85, 0xa5, 0x97, 0x5f, 0x3e, 0x2c, 0x19, 0xe5, 0x6f, 0x21, 0xe9, 0xf5, 0x09, 0xad, 0xc2,
|
||||
0xf5, 0x7a, 0xeb, 0xb0, 0xd3, 0xd6, 0x5a, 0x3d, 0xa2, 0xb5, 0xf6, 0x0f, 0x7a, 0xda, 0x8b, 0x7a,
|
||||
0x61, 0x09, 0xdd, 0x00, 0xe4, 0xbb, 0x6b, 0xa7, 0x47, 0x47, 0x75, 0xac, 0xb5, 0x9e, 0x17, 0x14,
|
||||
0x74, 0x13, 0x8a, 0xbe, 0xbf, 0x73, 0x5a, 0x6b, 0x6a, 0xdd, 0x06, 0x07, 0x62, 0x08, 0x41, 0xde,
|
||||
0x07, 0xea, 0x18, 0xb7, 0x71, 0x21, 0x1e, 0xca, 0x7d, 0xd0, 0x3e, 0xe9, 0x34, 0xeb, 0xbd, 0x7a,
|
||||
0x61, 0xb9, 0xfc, 0x93, 0x02, 0x2b, 0x33, 0x7d, 0xe6, 0x4b, 0x3e, 0x34, 0x87, 0xf4, 0xea, 0x93,
|
||||
0x27, 0x83, 0xd3, 0xdc, 0x21, 0x2e, 0xe6, 0x5d, 0x58, 0xd1, 0x2f, 0xa9, 0xa3, 0x9f, 0x53, 0x12,
|
||||
0xd6, 0xd0, 0xbc, 0x74, 0xd7, 0xa4, 0x94, 0x96, 0x20, 0xf1, 0x8d, 0x69, 0xb0, 0x0b, 0x31, 0xd6,
|
||||
0x1c, 0xf6, 0x0c, 0x74, 0x03, 0x92, 0x17, 0xd4, 0x3c, 0xbf, 0x60, 0x52, 0x3d, 0xa5, 0x85, 0x36,
|
||||
0xc0, 0xd3, 0x34, 0x91, 0x30, 0x11, 0x10, 0x39, 0xee, 0x28, 0xff, 0x30, 0xad, 0xf2, 0x6a, 0xba,
|
||||
0xff, 0x50, 0x95, 0x41, 0x3d, 0x8f, 0x87, 0xf5, 0x9c, 0x4f, 0xd9, 0xd5, 0x87, 0xf6, 0x40, 0x4a,
|
||||
0xaf, 0x57, 0x30, 0x78, 0x2e, 0xae, 0xbd, 0xe5, 0x37, 0x71, 0x28, 0x9d, 0xda, 0xc6, 0xfc, 0x57,
|
||||
0xe3, 0x5f, 0xd0, 0xd5, 0xff, 0xe0, 0xc7, 0x60, 0x66, 0xb1, 0xb2, 0x54, 0x17, 0x7f, 0x0c, 0x36,
|
||||
0x96, 0x22, 0x04, 0xfa, 0x7b, 0x45, 0xf9, 0x50, 0x1a, 0x5d, 0x5b, 0x85, 0x22, 0x99, 0x2f, 0xae,
|
||||
0xdc, 0x01, 0xd4, 0x34, 0x5d, 0x36, 0x33, 0xa9, 0x50, 0xdb, 0x95, 0x99, 0xb6, 0x87, 0xc7, 0x18,
|
||||
0x9b, 0x19, 0x63, 0x79, 0x1f, 0x8a, 0xa1, 0x8c, 0xae, 0x6d, 0x8d, 0x5c, 0x8a, 0x76, 0x20, 0x61,
|
||||
0x32, 0x3a, 0xe4, 0xd2, 0xc8, 0xaf, 0x7e, 0x69, 0xfe, 0x6f, 0xdd, 0x4b, 0x0b, 0x7b, 0x94, 0xf2,
|
||||
0x63, 0x28, 0x1d, 0xd2, 0x01, 0x7d, 0xcf, 0x05, 0xda, 0x79, 0xe6, 0xcb, 0xb1, 0xb8, 0x15, 0x28,
|
||||
0x0f, 0x80, 0x7b, 0x27, 0x1d, 0xa2, 0xb5, 0x3a, 0xa7, 0xbd, 0xc2, 0x12, 0xb7, 0xbf, 0x68, 0x68,
|
||||
0x53, 0x5b, 0x41, 0x39, 0xc8, 0x9c, 0xe2, 0xa6, 0x34, 0x63, 0x3b, 0x1a, 0xac, 0x2d, 0xfe, 0x84,
|
||||
0xe5, 0x72, 0xd3, 0xee, 0x9c, 0x76, 0x49, 0xb7, 0x57, 0xc7, 0xf5, 0x36, 0xf9, 0xec, 0xc9, 0x71,
|
||||
0xad, 0xd3, 0x2d, 0x2c, 0xa1, 0x22, 0xac, 0x08, 0xff, 0x49, 0xbb, 0xd5, 0x26, 0x4f, 0xf6, 0x8e,
|
||||
0x6b, 0xdd, 0x82, 0xb2, 0xf3, 0x5d, 0xdc, 0xcf, 0x15, 0xf1, 0x7d, 0x88, 0x36, 0x40, 0x6d, 0x54,
|
||||
0x9f, 0xec, 0x91, 0x4f, 0xaa, 0xbb, 0x1d, 0xf2, 0x68, 0xf7, 0xa8, 0xd3, 0x25, 0x8f, 0x48, 0x73,
|
||||
0xff, 0xcb, 0x3a, 0xe6, 0x19, 0x37, 0xe1, 0x96, 0x40, 0x1f, 0xee, 0x7e, 0x3a, 0x0f, 0x2b, 0x7e,
|
||||
0xf0, 0xe3, 0xbd, 0xdd, 0x0e, 0xa9, 0x3e, 0xe6, 0x68, 0x75, 0x8a, 0xc6, 0xd0, 0x3a, 0xdc, 0x9c,
|
||||
0x4d, 0xfd, 0xd0, 0x43, 0x0b, 0x71, 0x3f, 0x34, 0x98, 0x79, 0x8a, 0x2e, 0xa3, 0x6d, 0xb8, 0xb3,
|
||||
0xa8, 0x2a, 0xd2, 0xd0, 0x9e, 0x37, 0xc8, 0x49, 0xbb, 0xa7, 0xb5, 0x5b, 0x85, 0x04, 0xba, 0x07,
|
||||
0xff, 0x5f, 0x58, 0x61, 0x88, 0x9a, 0xf4, 0x93, 0x46, 0x54, 0x1b, 0x62, 0xa6, 0xd0, 0x5d, 0xb8,
|
||||
0xbd, 0xa0, 0xf2, 0x10, 0x31, 0xed, 0xa7, 0x8c, 0x38, 0x45, 0x88, 0x99, 0xa9, 0xfe, 0x1c, 0x83,
|
||||
0x94, 0x1c, 0x03, 0x3a, 0x84, 0x5c, 0xe8, 0xa7, 0x2c, 0xda, 0xf4, 0x37, 0x30, 0xea, 0x27, 0xee,
|
||||
0x5a, 0xe4, 0x82, 0xf2, 0x2c, 0x21, 0x69, 0x0b, 0x64, 0x89, 0x92, 0xbc, 0x05, 0x59, 0x1a, 0x90,
|
||||
0x0d, 0x5c, 0x11, 0xb4, 0xee, 0x93, 0xe6, 0xaf, 0xe2, 0xda, 0x46, 0x34, 0x28, 0x6f, 0xd5, 0x21,
|
||||
0xe4, 0x42, 0x37, 0x25, 0x50, 0x4f, 0xd4, 0x0d, 0x8a, 0xae, 0xa7, 0x76, 0xf4, 0xd5, 0xed, 0x73,
|
||||
0x93, 0x5d, 0x8c, 0xcf, 0x2a, 0x7d, 0x6b, 0xf8, 0x40, 0x32, 0x1e, 0x88, 0xff, 0x01, 0xf4, 0xad,
|
||||
0xc1, 0xd4, 0xf1, 0x26, 0x96, 0x6b, 0x9a, 0x97, 0xf4, 0xd8, 0x64, 0x95, 0x0e, 0x87, 0x7e, 0x8f,
|
||||
0xe5, 0xa5, 0xfd, 0xf4, 0xa9, 0x70, 0x9c, 0x25, 0x45, 0xc8, 0xa3, 0x3f, 0x03, 0x00, 0x00, 0xff,
|
||||
0xff, 0x09, 0x1d, 0x1d, 0x75, 0x6e, 0x10, 0x00, 0x00,
|
||||
// 1453 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4d, 0x6f, 0xdb, 0x46,
|
||||
0x13, 0x36, 0x25, 0xeb, 0x6b, 0x14, 0xc9, 0xca, 0x5a, 0x4e, 0x18, 0x7f, 0xe0, 0x35, 0x94, 0xbc,
|
||||
0x88, 0xe3, 0xbc, 0x50, 0x6c, 0xc5, 0xf1, 0xdb, 0x06, 0x08, 0x50, 0xcb, 0x96, 0x23, 0xc2, 0xb2,
|
||||
0x24, 0xac, 0xe4, 0x14, 0xed, 0x85, 0xa0, 0xc5, 0x8d, 0x4d, 0x44, 0x22, 0x55, 0x72, 0xe5, 0x46,
|
||||
0xe8, 0x35, 0x28, 0xfa, 0x03, 0x7a, 0xef, 0xa1, 0xe8, 0x25, 0x3f, 0xad, 0xe8, 0xb9, 0x40, 0x6f,
|
||||
0xc5, 0x7e, 0x88, 0x26, 0x25, 0x2a, 0x88, 0xdb, 0xa2, 0xc8, 0x8d, 0x3b, 0xcf, 0x33, 0xc3, 0x59,
|
||||
0xce, 0xec, 0x33, 0x2b, 0xc1, 0x4a, 0xdf, 0xba, 0x22, 0x6f, 0x2c, 0xaa, 0x5b, 0xf6, 0x85, 0x4b,
|
||||
0x3c, 0xaf, 0x3c, 0x74, 0x1d, 0xea, 0xa0, 0x94, 0x34, 0xaf, 0x16, 0x27, 0xf8, 0xc0, 0x31, 0x49,
|
||||
0x5f, 0xc2, 0xa5, 0xef, 0x17, 0xa1, 0x78, 0xe8, 0x12, 0x83, 0x12, 0x4d, 0xb8, 0x61, 0xf2, 0xcd,
|
||||
0x88, 0x78, 0x14, 0xed, 0x01, 0x58, 0xf6, 0x70, 0x44, 0x75, 0x3a, 0x1e, 0x12, 0x55, 0xd9, 0x54,
|
||||
0xb6, 0xf2, 0x95, 0x95, 0xb2, 0x8c, 0x51, 0x96, 0x64, 0x8d, 0x31, 0x70, 0x86, 0x13, 0xbb, 0xe3,
|
||||
0x21, 0x41, 0x05, 0x88, 0x8f, 0xdc, 0xbe, 0x9a, 0xd9, 0x54, 0xb6, 0x32, 0x98, 0x3d, 0x22, 0x04,
|
||||
0x8b, 0xb6, 0x31, 0x20, 0x6a, 0x8c, 0x9b, 0xf8, 0x33, 0x5a, 0x83, 0x8c, 0xeb, 0x38, 0x03, 0x9d,
|
||||
0x03, 0x71, 0x0e, 0xa4, 0x99, 0xa1, 0xc9, 0xc0, 0x5d, 0x28, 0x0e, 0x0d, 0x97, 0x5a, 0x3d, 0x6b,
|
||||
0x68, 0xd8, 0x54, 0xb7, 0x4c, 0x62, 0x53, 0x8b, 0x8e, 0xd5, 0x45, 0xce, 0x5b, 0x0e, 0x60, 0x9a,
|
||||
0x84, 0xd0, 0x23, 0x28, 0x04, 0x5d, 0x78, 0xd8, 0x04, 0xa7, 0x2f, 0x05, 0xec, 0x51, 0xd1, 0x07,
|
||||
0x84, 0x1a, 0xa6, 0x41, 0x0d, 0x15, 0x66, 0xa2, 0x9f, 0x4a, 0x08, 0xed, 0x02, 0x3a, 0x1f, 0x0f,
|
||||
0x0d, 0xcf, 0xd3, 0xa9, 0x6b, 0xd8, 0x5e, 0xcf, 0x31, 0x2d, 0xfb, 0x42, 0x4d, 0x6f, 0x2a, 0x5b,
|
||||
0xe9, 0x6a, 0x4c, 0x55, 0xf0, 0x6d, 0x81, 0x76, 0xaf, 0x41, 0x54, 0x01, 0x44, 0x6c, 0xe3, 0xbc,
|
||||
0x4f, 0x42, 0x2e, 0x59, 0xe6, 0x52, 0x5f, 0xc0, 0xb7, 0x05, 0x16, 0x70, 0xf8, 0x41, 0x51, 0x50,
|
||||
0x05, 0x12, 0xc6, 0xc8, 0xb4, 0x1c, 0x35, 0xb9, 0xa9, 0x6c, 0x65, 0x2b, 0xeb, 0xd3, 0xdf, 0xfa,
|
||||
0x80, 0x81, 0xad, 0x21, 0xb5, 0x1c, 0xdb, 0xc3, 0x82, 0xca, 0x7c, 0xae, 0x2c, 0x93, 0x38, 0x6a,
|
||||
0x2a, 0xda, 0xe7, 0x15, 0x03, 0x7d, 0x1f, 0x4e, 0xad, 0xae, 0xc0, 0xb2, 0x3e, 0x9b, 0x5c, 0xe9,
|
||||
0x37, 0x05, 0x96, 0x23, 0xde, 0xe4, 0xd7, 0x4f, 0x09, 0xd4, 0xef, 0x7f, 0x90, 0xf4, 0x9c, 0x91,
|
||||
0xdb, 0x13, 0x55, 0xcd, 0x57, 0x8a, 0xfe, 0x7b, 0xbb, 0xae, 0xd1, 0x7b, 0xd3, 0xe1, 0x18, 0x96,
|
||||
0x1c, 0xf4, 0x02, 0x92, 0x43, 0x97, 0x78, 0x84, 0xf2, 0x52, 0xe7, 0x2b, 0xf7, 0x23, 0x77, 0x56,
|
||||
0xb3, 0x45, 0x22, 0x6d, 0x4e, 0xad, 0x2f, 0x60, 0xe9, 0x84, 0xbe, 0x80, 0x94, 0x23, 0x72, 0xe1,
|
||||
0x2d, 0x90, 0xad, 0x3c, 0xf8, 0xa0, 0xbf, 0xcc, 0xbb, 0xbe, 0x80, 0x27, 0x6e, 0x55, 0x04, 0x05,
|
||||
0x22, 0x51, 0x5d, 0xda, 0x82, 0xdb, 0x0d, 0x7e, 0xa4, 0x7f, 0x63, 0xbb, 0xfc, 0x7d, 0x7f, 0x63,
|
||||
0xbb, 0x21, 0xff, 0x8f, 0xdc, 0xee, 0x7b, 0x05, 0xd6, 0x3e, 0xf0, 0xb5, 0xd0, 0x1e, 0x64, 0x79,
|
||||
0x47, 0xe9, 0x3d, 0xc7, 0x24, 0x3d, 0x79, 0xdc, 0x97, 0xfd, 0x37, 0x73, 0x9f, 0x43, 0x06, 0x61,
|
||||
0x30, 0xfc, 0x67, 0xa4, 0x42, 0xea, 0xdc, 0xa2, 0xae, 0x41, 0xc5, 0x97, 0xc9, 0xe1, 0xc9, 0x12,
|
||||
0xfd, 0x07, 0xb2, 0xa6, 0xe5, 0xf1, 0x26, 0x33, 0xe9, 0x5b, 0xfe, 0x25, 0xd2, 0x18, 0xa4, 0xe9,
|
||||
0x88, 0xbe, 0x45, 0xab, 0x90, 0xee, 0x5d, 0x1a, 0xb6, 0x4d, 0xfa, 0x62, 0x9f, 0x39, 0xec, 0xaf,
|
||||
0x4b, 0x3f, 0x5d, 0x27, 0x1b, 0xb5, 0x57, 0x96, 0x2c, 0x6f, 0xe5, 0x39, 0xc9, 0x72, 0x1f, 0x99,
|
||||
0xec, 0x95, 0xff, 0x8c, 0x36, 0x00, 0x5e, 0xbb, 0xc6, 0x80, 0xe8, 0x7e, 0xbe, 0x0a, 0xce, 0x70,
|
||||
0x0b, 0x66, 0x19, 0x3f, 0x86, 0x64, 0xdf, 0x18, 0x13, 0xd7, 0x53, 0xe3, 0x9b, 0xf1, 0xad, 0xec,
|
||||
0x74, 0xbc, 0x06, 0xc3, 0xb0, 0xa4, 0x94, 0xde, 0x25, 0x20, 0xeb, 0x4b, 0xe0, 0x6b, 0x87, 0xc5,
|
||||
0x96, 0xaa, 0xab, 0x5b, 0xa6, 0xec, 0x9d, 0x8c, 0xb4, 0x68, 0x66, 0xa4, 0x06, 0x6e, 0x00, 0x78,
|
||||
0xd4, 0x25, 0xc6, 0x40, 0x7f, 0x43, 0xc6, 0x52, 0x04, 0x33, 0xc2, 0x72, 0x42, 0xc6, 0x13, 0x21,
|
||||
0x5d, 0xbc, 0x16, 0xd2, 0xb0, 0x20, 0x27, 0x3e, 0x52, 0x90, 0xa3, 0xc5, 0x2b, 0x77, 0x73, 0xf1,
|
||||
0x5a, 0xfa, 0x14, 0xc4, 0x2b, 0x3c, 0x39, 0xd2, 0x1f, 0x39, 0x39, 0x32, 0x37, 0x9b, 0x1c, 0x70,
|
||||
0xb3, 0xc9, 0x91, 0x9f, 0x3f, 0x39, 0x56, 0x21, 0xed, 0x92, 0x11, 0xef, 0x79, 0x21, 0xfe, 0xd8,
|
||||
0x5f, 0xa3, 0xc7, 0x90, 0xf0, 0x28, 0xeb, 0xc4, 0x5b, 0x7c, 0xf7, 0x33, 0x95, 0xec, 0x30, 0x10,
|
||||
0x0b, 0xce, 0x3c, 0xcd, 0xfe, 0x3d, 0x0e, 0xb7, 0x82, 0x74, 0xb4, 0x07, 0x49, 0xe6, 0x30, 0xf2,
|
||||
0xe4, 0xa1, 0x58, 0x8f, 0x8c, 0x5a, 0xee, 0x70, 0x0e, 0x96, 0x5c, 0x54, 0x84, 0x04, 0x71, 0x5d,
|
||||
0xc7, 0x95, 0xfd, 0x29, 0x16, 0xa8, 0x3c, 0x29, 0x4f, 0x9c, 0x27, 0xa8, 0x06, 0x42, 0x0d, 0x47,
|
||||
0x94, 0x17, 0x47, 0xe6, 0x28, 0x4a, 0x53, 0x9e, 0xb4, 0xc0, 0x62, 0x14, 0x9f, 0x37, 0x80, 0xe4,
|
||||
0x8b, 0xf2, 0xdf, 0x85, 0x14, 0x2f, 0xa5, 0x65, 0xca, 0x59, 0x9d, 0x64, 0x4b, 0xcd, 0x14, 0x27,
|
||||
0xc3, 0x70, 0x29, 0x31, 0x75, 0x83, 0xf2, 0xe6, 0x88, 0xb3, 0x93, 0xc1, 0x2d, 0x07, 0x14, 0xdd,
|
||||
0x83, 0x34, 0xb1, 0x4d, 0x01, 0xa6, 0x39, 0x98, 0xe2, 0xeb, 0x03, 0xca, 0x3c, 0x47, 0x43, 0xd3,
|
||||
0x90, 0x9e, 0x20, 0x3c, 0xa5, 0xe5, 0x80, 0x32, 0x51, 0x72, 0x89, 0x50, 0x69, 0xf6, 0x56, 0xd1,
|
||||
0x16, 0x30, 0x31, 0x69, 0x26, 0xda, 0x86, 0x24, 0x65, 0x8a, 0xee, 0xa9, 0x49, 0xae, 0x01, 0x28,
|
||||
0x2c, 0xf4, 0xec, 0xa8, 0x63, 0xc9, 0x28, 0x7d, 0x07, 0x49, 0xf1, 0x19, 0xd1, 0x0a, 0xdc, 0xae,
|
||||
0x35, 0x8f, 0xda, 0x2d, 0xad, 0xd9, 0xd5, 0xb5, 0xe6, 0xc1, 0x61, 0x57, 0x7b, 0x55, 0x2b, 0x2c,
|
||||
0xa0, 0x3b, 0x80, 0x7c, 0x73, 0xf5, 0xec, 0xf8, 0xb8, 0x86, 0xb5, 0xe6, 0xcb, 0x82, 0x82, 0xee,
|
||||
0xc2, 0xb2, 0x6f, 0x6f, 0x9f, 0x55, 0x1b, 0x5a, 0xa7, 0xce, 0x80, 0x18, 0x42, 0x90, 0xf7, 0x81,
|
||||
0x1a, 0xc6, 0x2d, 0x5c, 0x88, 0x87, 0x62, 0x1f, 0xb6, 0x4e, 0xdb, 0x8d, 0x5a, 0xb7, 0x56, 0x58,
|
||||
0x2c, 0xfd, 0xac, 0xc0, 0xd2, 0x54, 0x19, 0xd8, 0xd1, 0x18, 0x58, 0x03, 0x72, 0x7d, 0x5f, 0xcb,
|
||||
0xe0, 0x34, 0x33, 0x70, 0x19, 0x78, 0x08, 0x4b, 0xc6, 0x15, 0x71, 0x8d, 0x0b, 0xa2, 0x87, 0x15,
|
||||
0x3b, 0x2f, 0xcd, 0x55, 0x29, 0xdc, 0x45, 0x48, 0x7c, 0x6b, 0x99, 0xf4, 0x92, 0x57, 0x3d, 0x87,
|
||||
0xc5, 0x02, 0xdd, 0x81, 0xe4, 0x25, 0xb1, 0x2e, 0x2e, 0xa9, 0xd4, 0x6a, 0xb9, 0x42, 0xeb, 0x20,
|
||||
0x14, 0x94, 0x07, 0x4c, 0x04, 0x24, 0x95, 0x19, 0x4a, 0x3f, 0x4e, 0xb2, 0xbc, 0x2e, 0xfe, 0x3f,
|
||||
0x94, 0x65, 0x70, 0x7a, 0xc4, 0xc3, 0xd3, 0x83, 0x55, 0xd9, 0x33, 0x06, 0xc3, 0xbe, 0x14, 0x7a,
|
||||
0x91, 0x30, 0x08, 0x13, 0x53, 0xfa, 0xd2, 0x1f, 0x71, 0x28, 0x9e, 0xf1, 0xa6, 0x98, 0xba, 0xf2,
|
||||
0xfe, 0x05, 0x15, 0xff, 0x04, 0x6f, 0xb2, 0x99, 0xf9, 0x7a, 0xb4, 0xff, 0xe1, 0x9b, 0x2c, 0x53,
|
||||
0xf7, 0x99, 0x71, 0x20, 0xd4, 0x3d, 0x6a, 0x22, 0x00, 0x9f, 0x08, 0xca, 0x27, 0x70, 0x9d, 0x9d,
|
||||
0xdd, 0xd4, 0x3c, 0xc5, 0x6c, 0x03, 0x6a, 0x58, 0x1e, 0x9d, 0x2a, 0x7c, 0xa8, 0x8a, 0xca, 0x54,
|
||||
0x15, 0xc3, 0x5d, 0x11, 0x9b, 0xea, 0x8a, 0xd2, 0x01, 0x2c, 0x87, 0x22, 0x7a, 0x43, 0xc7, 0xf6,
|
||||
0x08, 0xda, 0x86, 0x84, 0x45, 0xc9, 0x80, 0x09, 0x31, 0x53, 0x92, 0xe2, 0xec, 0xa0, 0x7e, 0xed,
|
||||
0x60, 0x41, 0x29, 0x3d, 0x83, 0xe2, 0x11, 0xe9, 0x93, 0x1b, 0xf6, 0xe3, 0xf6, 0x0b, 0x5f, 0xfc,
|
||||
0xf9, 0x21, 0x43, 0x79, 0x00, 0xdc, 0x3d, 0x6d, 0xeb, 0x5a, 0xb3, 0x7d, 0xd6, 0x2d, 0x2c, 0xb0,
|
||||
0xf5, 0x97, 0x75, 0x6d, 0xb2, 0x56, 0x50, 0x0e, 0x32, 0x67, 0xb8, 0x21, 0x97, 0xb1, 0x6d, 0x0d,
|
||||
0x56, 0xe7, 0xdf, 0xbf, 0x99, 0x7a, 0xb5, 0xda, 0x67, 0x1d, 0xbd, 0xd3, 0xad, 0xe1, 0x5a, 0x4b,
|
||||
0xff, 0x7c, 0xff, 0xa4, 0xda, 0xee, 0x14, 0x16, 0xd0, 0x32, 0x2c, 0x71, 0xfb, 0x69, 0xab, 0xd9,
|
||||
0xd2, 0xf7, 0xf7, 0x4e, 0xaa, 0x9d, 0x82, 0xb2, 0xfd, 0x2e, 0xee, 0xc7, 0x8a, 0xb8, 0xdc, 0xa2,
|
||||
0x75, 0x50, 0xeb, 0x95, 0xfd, 0x3d, 0xfd, 0xff, 0x95, 0x9d, 0xb6, 0xfe, 0x74, 0xe7, 0xb8, 0xdd,
|
||||
0xd1, 0x9f, 0xea, 0x8d, 0x83, 0xaf, 0x6a, 0x98, 0x45, 0xdc, 0x80, 0x7b, 0x1c, 0xdd, 0xdd, 0xf9,
|
||||
0x6c, 0x16, 0x56, 0x7c, 0xe7, 0x67, 0x7b, 0x3b, 0x6d, 0xbd, 0xf2, 0x8c, 0xa1, 0x95, 0x09, 0x1a,
|
||||
0x43, 0x6b, 0x70, 0x77, 0x3a, 0xf4, 0xae, 0x40, 0x0b, 0x71, 0xdf, 0x35, 0x18, 0x79, 0x82, 0x2e,
|
||||
0xa2, 0x2d, 0x78, 0x30, 0x2f, 0x2b, 0xbd, 0xae, 0xbd, 0xac, 0xeb, 0xa7, 0xad, 0xae, 0xd6, 0x6a,
|
||||
0x16, 0x12, 0xe8, 0x11, 0xfc, 0x77, 0x6e, 0x86, 0x21, 0x6a, 0xd2, 0x0f, 0x1a, 0x91, 0x6d, 0x88,
|
||||
0x99, 0x42, 0x0f, 0xe1, 0xfe, 0x9c, 0xcc, 0x43, 0xc4, 0xb4, 0x1f, 0x32, 0x62, 0x17, 0x21, 0x66,
|
||||
0xa6, 0xf2, 0x4b, 0x0c, 0x52, 0xb2, 0x0c, 0xe8, 0x08, 0x72, 0xa1, 0x9f, 0xf5, 0x68, 0xc3, 0xef,
|
||||
0xc0, 0xa8, 0x9f, 0xfb, 0xab, 0x91, 0x0d, 0xca, 0xa2, 0x84, 0x94, 0x32, 0x10, 0x25, 0x4a, 0x41,
|
||||
0xe7, 0x44, 0xa9, 0x43, 0x36, 0x70, 0x44, 0xd0, 0x9a, 0x4f, 0x9a, 0x3d, 0x8a, 0xab, 0xeb, 0xd1,
|
||||
0xa0, 0x3c, 0x55, 0x47, 0x90, 0x0b, 0x9d, 0x94, 0x40, 0x3e, 0x51, 0x27, 0x28, 0x3a, 0x9f, 0xea,
|
||||
0xf1, 0xd7, 0xf7, 0x2f, 0x2c, 0x7a, 0x39, 0x3a, 0x2f, 0xf7, 0x9c, 0xc1, 0x13, 0xc9, 0x78, 0xc2,
|
||||
0xff, 0x0f, 0xe9, 0x39, 0xfd, 0x89, 0xe1, 0x7d, 0x2c, 0xd7, 0xb0, 0xae, 0xc8, 0x89, 0x45, 0xcb,
|
||||
0x6d, 0x06, 0xfd, 0x1a, 0xcb, 0xcb, 0xf5, 0xf3, 0xe7, 0xdc, 0x70, 0x9e, 0xe4, 0x2e, 0x4f, 0xff,
|
||||
0x0c, 0x00, 0x00, 0xff, 0xff, 0x33, 0x5f, 0xd3, 0x2e, 0x7a, 0x11, 0x00, 0x00,
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -902,9 +902,13 @@ type CreateSIPParticipantRequest struct {
|
||||
RoomName string `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
|
||||
// Optional identity of the participant in LiveKit room
|
||||
ParticipantIdentity string `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
|
||||
// Optional name of the participant in LiveKit room
|
||||
ParticipantName string `protobuf:"bytes,7,opt,name=participant_name,json=participantName,proto3" json:"participant_name,omitempty"`
|
||||
// Optionally send following DTMF digits (extension codes) when making a call.
|
||||
// Character 'w' can be used to add a 0.5 sec delay.
|
||||
Dtmf string `protobuf:"bytes,5,opt,name=dtmf,proto3" json:"dtmf,omitempty"`
|
||||
// Optionally play ringtone in the room as an audible indicator for existing participants
|
||||
PlayRingtone bool `protobuf:"varint,6,opt,name=play_ringtone,json=playRingtone,proto3" json:"play_ringtone,omitempty"`
|
||||
}
|
||||
|
||||
func (x *CreateSIPParticipantRequest) Reset() {
|
||||
@@ -967,6 +971,13 @@ func (x *CreateSIPParticipantRequest) GetParticipantIdentity() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateSIPParticipantRequest) GetParticipantName() string {
|
||||
if x != nil {
|
||||
return x.ParticipantName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateSIPParticipantRequest) GetDtmf() string {
|
||||
if x != nil {
|
||||
return x.Dtmf
|
||||
@@ -974,6 +985,13 @@ func (x *CreateSIPParticipantRequest) GetDtmf() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateSIPParticipantRequest) GetPlayRingtone() bool {
|
||||
if x != nil {
|
||||
return x.PlayRingtone
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type SIPParticipantInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -1162,7 +1180,7 @@ var file_livekit_sip_proto_rawDesc = []byte{
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73,
|
||||
0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
|
||||
0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x93, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72,
|
||||
0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69,
|
||||
@@ -1173,8 +1191,13 @@ var file_livekit_sip_proto_rawDesc = []byte{
|
||||
0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x22, 0x8b, 0x01, 0x0a,
|
||||
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f,
|
||||
0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
|
||||
0x70, 0x6c, 0x61, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x22, 0x8b, 0x01, 0x0a,
|
||||
0x12, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72,
|
||||
|
||||
@@ -2191,63 +2191,65 @@ func (s *sIPServer) PathPrefix() string {
|
||||
}
|
||||
|
||||
var twirpFileDescriptor3 = []byte{
|
||||
// 915 bytes of a gzipped FileDescriptorProto
|
||||
// 949 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x72, 0xdb, 0x44,
|
||||
0x14, 0xae, 0x2c, 0x27, 0xb1, 0x8f, 0x53, 0x27, 0xd9, 0xd8, 0x8c, 0x70, 0x42, 0xc9, 0xa8, 0xed,
|
||||
0x14, 0xae, 0x2d, 0x27, 0xb1, 0x8f, 0x13, 0x27, 0xd9, 0xd8, 0x8c, 0x70, 0x42, 0xc9, 0x28, 0xed,
|
||||
0x50, 0x7e, 0xc6, 0x19, 0xcc, 0x0c, 0x33, 0xf4, 0x8e, 0x24, 0xd3, 0xd6, 0xd3, 0x4e, 0x30, 0x4a,
|
||||
0xb9, 0x80, 0xe9, 0x20, 0x14, 0xef, 0xa6, 0xd9, 0xa9, 0x2c, 0x09, 0xed, 0x2a, 0x94, 0x67, 0xe0,
|
||||
0x9a, 0x87, 0x80, 0x77, 0xe0, 0x06, 0xae, 0x79, 0x04, 0x5e, 0x80, 0xa7, 0xe8, 0xec, 0x6a, 0x25,
|
||||
0x6b, 0x65, 0xc9, 0xb1, 0xef, 0xec, 0xb3, 0xdf, 0x7e, 0xfa, 0xce, 0xcf, 0x77, 0x24, 0xd8, 0xf3,
|
||||
0xe9, 0x0d, 0x79, 0x43, 0xb9, 0xcb, 0x68, 0x34, 0x8c, 0xe2, 0x90, 0x87, 0x68, 0x4b, 0x85, 0xec,
|
||||
0x3f, 0x4c, 0xe8, 0x9f, 0xc6, 0xc4, 0xe3, 0xe4, 0x62, 0x3c, 0x79, 0x19, 0x27, 0xc1, 0x1b, 0x87,
|
||||
0xfc, 0x9c, 0x10, 0xc6, 0xd1, 0xa7, 0xb0, 0x47, 0x83, 0xcb, 0x30, 0x09, 0xb0, 0xeb, 0x61, 0x1c,
|
||||
0x13, 0xc6, 0x08, 0xb3, 0x8c, 0x23, 0xf3, 0x51, 0xdb, 0xd9, 0x55, 0x07, 0x5f, 0x67, 0x71, 0xf4,
|
||||
0x31, 0xec, 0x86, 0x09, 0xd7, 0xd0, 0x56, 0xe3, 0xc8, 0x78, 0xd4, 0x76, 0x76, 0xb2, 0xb8, 0x02,
|
||||
0xa3, 0x8f, 0x20, 0x0f, 0xb9, 0x41, 0x32, 0xbb, 0x24, 0xb1, 0x65, 0x4a, 0x64, 0x37, 0x0b, 0x9f,
|
||||
0xcb, 0x28, 0xfa, 0x12, 0xfa, 0x99, 0x80, 0x14, 0xc7, 0xdc, 0x98, 0xbc, 0x26, 0x6f, 0xad, 0xa6,
|
||||
0x10, 0x71, 0xd2, 0xb0, 0x0c, 0x67, 0x5f, 0x01, 0xd2, 0x1b, 0xcc, 0x11, 0xc7, 0xe2, 0x01, 0xa5,
|
||||
0x7b, 0x56, 0x5b, 0xca, 0xee, 0xea, 0x68, 0x21, 0x3a, 0x03, 0x26, 0x8c, 0xc4, 0x81, 0x37, 0x23,
|
||||
0xd6, 0x46, 0x2a, 0x5a, 0xc5, 0xbf, 0x53, 0xe1, 0x22, 0x34, 0xf2, 0x18, 0xfb, 0x25, 0x8c, 0xb1,
|
||||
0xb5, 0xa9, 0x41, 0x27, 0x2a, 0x2c, 0xea, 0x96, 0xe7, 0x97, 0xd3, 0x6e, 0x49, 0x6c, 0x5e, 0xa3,
|
||||
0x9c, 0xb7, 0x08, 0xce, 0x89, 0x5b, 0x3a, 0x38, 0x63, 0xb6, 0xff, 0x36, 0x61, 0x3b, 0xeb, 0xd2,
|
||||
0x38, 0xb8, 0x0a, 0xd1, 0x11, 0x6c, 0x33, 0x1a, 0xb9, 0x5c, 0x04, 0x5c, 0x8a, 0x2d, 0x43, 0x5e,
|
||||
0x04, 0x46, 0xa3, 0x14, 0x83, 0xab, 0x9b, 0xd8, 0x58, 0xa3, 0x89, 0xe6, 0xca, 0x4d, 0x6c, 0xae,
|
||||
0xd7, 0xc4, 0x8d, 0xb5, 0x9b, 0x08, 0x2b, 0x37, 0x71, 0x73, 0xf5, 0x26, 0x6e, 0xad, 0xd1, 0xc4,
|
||||
0xd6, 0x3a, 0x4d, 0x6c, 0xd7, 0x34, 0xb1, 0x0f, 0xfb, 0x2f, 0x28, 0xe3, 0x25, 0xb7, 0xd9, 0xa7,
|
||||
0xd0, 0xd3, 0xc3, 0x2c, 0x0a, 0x03, 0x26, 0xb8, 0x37, 0x28, 0x27, 0xb3, 0xd4, 0x79, 0x9d, 0x51,
|
||||
0x7f, 0xa8, 0x8c, 0x3b, 0x2c, 0x0e, 0x82, 0x93, 0x62, 0xec, 0xaf, 0xa0, 0x7f, 0x46, 0x7c, 0xb2,
|
||||
0xe8, 0xe5, 0x5b, 0x07, 0xc5, 0x7e, 0x02, 0xfd, 0x8b, 0xf1, 0xe4, 0x8c, 0xb2, 0xc8, 0xe3, 0xd3,
|
||||
0x6b, 0x27, 0xf1, 0xc9, 0x19, 0x8d, 0xc9, 0x94, 0xa3, 0x03, 0x68, 0xc7, 0x61, 0x38, 0x73, 0x65,
|
||||
0x05, 0xd2, 0x7b, 0x2d, 0x11, 0x38, 0x17, 0x99, 0xef, 0x82, 0x19, 0xd1, 0x40, 0x39, 0x5d, 0xfc,
|
||||
0xb4, 0xcf, 0xe1, 0xfd, 0x12, 0xcf, 0x38, 0xc0, 0xf4, 0x86, 0xe2, 0xc4, 0xf3, 0xd1, 0x87, 0xd0,
|
||||
0x91, 0x5c, 0x51, 0x4c, 0xae, 0xe8, 0xdb, 0x4c, 0x85, 0x08, 0x4d, 0x64, 0xa4, 0x82, 0xef, 0x5f,
|
||||
0x03, 0x76, 0x4a, 0x84, 0xc8, 0x81, 0x1e, 0x56, 0xff, 0xdd, 0x38, 0xf1, 0x89, 0x8b, 0xa5, 0x54,
|
||||
0xc9, 0xd7, 0x19, 0xdd, 0x2b, 0x96, 0x68, 0x31, 0xa1, 0x67, 0x77, 0x1c, 0x84, 0x17, 0xd3, 0xfc,
|
||||
0x11, 0x2c, 0x9d, 0x93, 0xe6, 0xb2, 0xa5, 0x9c, 0xce, 0xc8, 0xae, 0xe3, 0x9d, 0x27, 0xf8, 0xec,
|
||||
0x8e, 0xf3, 0x1e, 0xae, 0x3c, 0x39, 0xd9, 0x84, 0xa6, 0xa0, 0xb5, 0x7f, 0x37, 0xe0, 0x30, 0xdf,
|
||||
0xb7, 0x45, 0x96, 0xac, 0x55, 0x9f, 0xa5, 0x40, 0x95, 0x8c, 0x55, 0xf7, 0x50, 0x47, 0xa2, 0x44,
|
||||
0x77, 0xb2, 0xa6, 0x66, 0xbe, 0x6e, 0xf1, 0xb4, 0xa5, 0x0c, 0x7d, 0x02, 0x7b, 0xd7, 0x14, 0x13,
|
||||
0x37, 0xba, 0x0e, 0x03, 0x52, 0xdc, 0xb5, 0x2d, 0x67, 0x47, 0x1c, 0x4c, 0x44, 0x3c, 0xf5, 0x91,
|
||||
0xfd, 0x97, 0x01, 0xfb, 0x0b, 0x79, 0x5d, 0x85, 0xe8, 0x18, 0x7a, 0x62, 0x72, 0x4a, 0xb5, 0xc9,
|
||||
0x26, 0x68, 0x8f, 0xd1, 0x48, 0xbb, 0x82, 0x73, 0xfd, 0x8d, 0xf5, 0xf5, 0x9b, 0xab, 0xe8, 0x6f,
|
||||
0x56, 0xeb, 0x3f, 0x84, 0x81, 0xf2, 0x4f, 0x45, 0x51, 0xed, 0x6f, 0xe1, 0xa0, 0xf2, 0x54, 0x99,
|
||||
0x6c, 0xa4, 0x9b, 0xec, 0xb0, 0xbe, 0xd3, 0x73, 0xaf, 0x7d, 0x03, 0x87, 0xb9, 0xd7, 0xaa, 0xfa,
|
||||
0xb8, 0x6e, 0xe1, 0xec, 0x7f, 0x0c, 0x38, 0xc8, 0x27, 0x63, 0xe2, 0xc5, 0x9c, 0x4e, 0x69, 0xe4,
|
||||
0x05, 0x7c, 0x65, 0x0f, 0xa3, 0x7b, 0xd0, 0x11, 0x88, 0xa9, 0xe7, 0xfb, 0x2e, 0x0f, 0x95, 0x8b,
|
||||
0xda, 0x8c, 0x46, 0xa7, 0x9e, 0xef, 0xbf, 0x0c, 0x75, 0x2b, 0x9b, 0x25, 0x2b, 0x7f, 0x0e, 0xbd,
|
||||
0x68, 0xfe, 0x50, 0x97, 0x62, 0x12, 0x70, 0xca, 0x7f, 0x55, 0x6b, 0x7d, 0xbf, 0x70, 0x36, 0x56,
|
||||
0x47, 0x08, 0x41, 0x13, 0xf3, 0xd9, 0x95, 0x7a, 0x67, 0xca, 0xdf, 0xf6, 0x6f, 0x06, 0x20, 0x5d,
|
||||
0xbf, 0x1c, 0xa3, 0x87, 0xd0, 0xd5, 0xd9, 0x95, 0xfc, 0xbb, 0x1a, 0x6f, 0xad, 0x88, 0x46, 0xbd,
|
||||
0x88, 0x65, 0x49, 0x8d, 0xfe, 0x6b, 0x82, 0x79, 0x31, 0x9e, 0xa0, 0xa7, 0xd0, 0xd5, 0x3f, 0x72,
|
||||
0xd0, 0x7c, 0x4b, 0x54, 0x7e, 0xfd, 0x0c, 0xaa, 0x17, 0x2d, 0x7a, 0x0e, 0xdb, 0xc5, 0x35, 0x8d,
|
||||
0xe6, 0xa3, 0x52, 0xb1, 0xd4, 0x07, 0x1f, 0xd4, 0x9c, 0xaa, 0xb1, 0x7b, 0x0a, 0x5d, 0x7d, 0x5d,
|
||||
0x17, 0x54, 0x55, 0xee, 0xf1, 0x3a, 0x55, 0xaf, 0x0a, 0xdf, 0x70, 0xda, 0xa6, 0x7c, 0xb8, 0x98,
|
||||
0x65, 0xc5, 0xac, 0x0e, 0x96, 0x0e, 0x3c, 0xfa, 0x29, 0x7f, 0x63, 0x69, 0xdc, 0xf7, 0xcb, 0xc9,
|
||||
0x55, 0x31, 0x3f, 0x58, 0x0e, 0x52, 0x85, 0x78, 0x55, 0x78, 0x6f, 0xd5, 0xe8, 0x5f, 0xe6, 0xb5,
|
||||
0x5b, 0xf4, 0x7f, 0x0f, 0xbd, 0x2a, 0x5f, 0xa1, 0x07, 0x8b, 0xc5, 0x59, 0xb4, 0xdd, 0xe0, 0xa0,
|
||||
0xc8, 0x5d, 0x1a, 0xeb, 0x93, 0x27, 0x3f, 0xdc, 0x7f, 0x4d, 0xf9, 0x75, 0x72, 0x39, 0x9c, 0x86,
|
||||
0xb3, 0x63, 0x05, 0x3c, 0x96, 0x9f, 0xd8, 0xd3, 0xd0, 0xcf, 0x02, 0x7f, 0x36, 0xee, 0xbe, 0xa0,
|
||||
0x37, 0xe4, 0x39, 0xe5, 0xc3, 0x89, 0x38, 0xfa, 0xbf, 0xd1, 0x55, 0xff, 0x1f, 0x3f, 0x96, 0x81,
|
||||
0xcb, 0x4d, 0x79, 0xe5, 0x8b, 0x77, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0xf3, 0xa7, 0xf0, 0xaa,
|
||||
0x0b, 0x00, 0x00,
|
||||
0xb9, 0x80, 0xe9, 0x20, 0x14, 0xef, 0x26, 0xd9, 0xa9, 0xac, 0x15, 0xda, 0x55, 0x68, 0x9f, 0x81,
|
||||
0x4b, 0x86, 0x87, 0x80, 0x77, 0xe0, 0x86, 0x7b, 0x1e, 0x81, 0x17, 0xe0, 0x29, 0x98, 0x5d, 0xad,
|
||||
0x64, 0xad, 0x2d, 0xa5, 0xf6, 0x9d, 0xfd, 0xed, 0xb7, 0x47, 0xdf, 0xf9, 0xf9, 0x8e, 0x04, 0xbb,
|
||||
0x01, 0xbd, 0x25, 0xaf, 0xa9, 0xf0, 0x38, 0x8d, 0x06, 0x51, 0xcc, 0x04, 0x43, 0x1b, 0x1a, 0x72,
|
||||
0xfe, 0xb0, 0xa0, 0x77, 0x1a, 0x13, 0x5f, 0x90, 0x8b, 0xd1, 0xf8, 0x65, 0x9c, 0x84, 0xaf, 0x5d,
|
||||
0xf2, 0x73, 0x42, 0xb8, 0x40, 0x9f, 0xc2, 0x2e, 0x0d, 0x2f, 0x59, 0x12, 0x62, 0xcf, 0xc7, 0x38,
|
||||
0x26, 0x9c, 0x13, 0x6e, 0xd7, 0x0e, 0xad, 0x47, 0x2d, 0x77, 0x47, 0x1f, 0x7c, 0x9d, 0xe1, 0xe8,
|
||||
0x63, 0xd8, 0x61, 0x89, 0x30, 0xd8, 0x76, 0xfd, 0xb0, 0xf6, 0xa8, 0xe5, 0x6e, 0x67, 0xb8, 0x26,
|
||||
0xa3, 0x8f, 0x20, 0x87, 0xbc, 0x30, 0x99, 0x5e, 0x92, 0xd8, 0xb6, 0x14, 0xb3, 0x93, 0xc1, 0xe7,
|
||||
0x0a, 0x45, 0x5f, 0x42, 0x2f, 0x13, 0x90, 0xf2, 0xb8, 0x17, 0x93, 0x6b, 0xf2, 0xc6, 0x6e, 0x48,
|
||||
0x11, 0x27, 0x75, 0xbb, 0xe6, 0xee, 0x69, 0x42, 0x7a, 0x83, 0xbb, 0xf2, 0x58, 0x3e, 0x60, 0xee,
|
||||
0x9e, 0xdd, 0x52, 0xb2, 0x3b, 0x26, 0x5b, 0x8a, 0xce, 0x88, 0x09, 0x27, 0x71, 0xe8, 0x4f, 0x89,
|
||||
0xbd, 0x96, 0x8a, 0xd6, 0xf8, 0x77, 0x1a, 0x2e, 0x52, 0x23, 0x9f, 0xf3, 0x5f, 0x58, 0x8c, 0xed,
|
||||
0x75, 0x83, 0x3a, 0xd6, 0xb0, 0xac, 0x5b, 0x9e, 0x5f, 0x1e, 0x76, 0x43, 0x71, 0xf3, 0x1a, 0xe5,
|
||||
0x71, 0x8b, 0xe4, 0x3c, 0x70, 0xd3, 0x24, 0x67, 0x91, 0x9d, 0xbf, 0x2d, 0xd8, 0xcc, 0xba, 0x34,
|
||||
0x0a, 0xaf, 0x18, 0x3a, 0x84, 0x4d, 0x4e, 0x23, 0x4f, 0x48, 0xc0, 0xa3, 0xd8, 0xae, 0xa9, 0x8b,
|
||||
0xc0, 0x69, 0x94, 0x72, 0x70, 0x79, 0x13, 0xeb, 0x2b, 0x34, 0xd1, 0x5a, 0xba, 0x89, 0x8d, 0xd5,
|
||||
0x9a, 0xb8, 0xb6, 0x72, 0x13, 0x61, 0xe9, 0x26, 0xae, 0x2f, 0xdf, 0xc4, 0x8d, 0x15, 0x9a, 0xd8,
|
||||
0x5c, 0xa5, 0x89, 0xad, 0x8a, 0x26, 0xf6, 0x60, 0xef, 0x05, 0xe5, 0x62, 0xce, 0x6d, 0xce, 0x29,
|
||||
0x74, 0x4d, 0x98, 0x47, 0x2c, 0xe4, 0x32, 0xf6, 0x1a, 0x15, 0x64, 0x9a, 0x3a, 0xaf, 0x3d, 0xec,
|
||||
0x0d, 0xb4, 0x71, 0x07, 0xc5, 0x41, 0x70, 0x53, 0x8e, 0xf3, 0x15, 0xf4, 0xce, 0x48, 0x40, 0x16,
|
||||
0xbd, 0xfc, 0xce, 0x41, 0x71, 0x9e, 0x40, 0xef, 0x62, 0x34, 0x3e, 0xa3, 0x3c, 0xf2, 0xc5, 0xe4,
|
||||
0xc6, 0x4d, 0x02, 0x72, 0x46, 0x63, 0x32, 0x11, 0x68, 0x1f, 0x5a, 0x31, 0x63, 0x53, 0x4f, 0x55,
|
||||
0x20, 0xbd, 0xd7, 0x94, 0xc0, 0xb9, 0xcc, 0x7c, 0x07, 0xac, 0x88, 0x86, 0xda, 0xe9, 0xf2, 0xa7,
|
||||
0x73, 0x0e, 0xef, 0xcf, 0xc5, 0x19, 0x85, 0x98, 0xde, 0x52, 0x9c, 0xf8, 0x01, 0xfa, 0x10, 0xda,
|
||||
0x2a, 0x56, 0x14, 0x93, 0x2b, 0xfa, 0x26, 0x53, 0x21, 0xa1, 0xb1, 0x42, 0x4a, 0xe2, 0xfd, 0x53,
|
||||
0x83, 0xed, 0xb9, 0x80, 0xc8, 0x85, 0x2e, 0xd6, 0xff, 0xbd, 0x38, 0x09, 0x88, 0x87, 0x95, 0x54,
|
||||
0x15, 0xaf, 0x3d, 0xbc, 0x5f, 0x2c, 0xd1, 0x62, 0x42, 0xcf, 0xee, 0xb9, 0x08, 0x2f, 0xa6, 0xf9,
|
||||
0x23, 0xd8, 0x66, 0x4c, 0x9a, 0xcb, 0x56, 0x72, 0xda, 0x43, 0xa7, 0x2a, 0xee, 0x2c, 0xc1, 0x67,
|
||||
0xf7, 0xdc, 0xf7, 0x70, 0xe9, 0xc9, 0xc9, 0x3a, 0x34, 0x64, 0x58, 0xe7, 0xf7, 0x1a, 0x1c, 0xe4,
|
||||
0xfb, 0xb6, 0x18, 0x25, 0x6b, 0xd5, 0x67, 0x29, 0x51, 0x27, 0x63, 0x57, 0x3d, 0xd4, 0x55, 0x2c,
|
||||
0xd9, 0x9d, 0xac, 0xa9, 0x99, 0xaf, 0x9b, 0x22, 0x6d, 0x29, 0x47, 0x9f, 0xc0, 0xee, 0x0d, 0xc5,
|
||||
0xc4, 0x8b, 0x6e, 0x58, 0x48, 0x8a, 0xbb, 0xb6, 0xe9, 0x6e, 0xcb, 0x83, 0xb1, 0xc4, 0x53, 0x1f,
|
||||
0x39, 0x7f, 0xd5, 0x60, 0x6f, 0x21, 0xaf, 0x2b, 0x86, 0x8e, 0xa1, 0x2b, 0x27, 0x67, 0xae, 0x36,
|
||||
0xd9, 0x04, 0xed, 0x72, 0x1a, 0x19, 0x57, 0x70, 0xae, 0xbf, 0xbe, 0xba, 0x7e, 0x6b, 0x19, 0xfd,
|
||||
0x8d, 0x72, 0xfd, 0x07, 0xd0, 0xd7, 0xfe, 0x29, 0x29, 0xaa, 0xf3, 0x2d, 0xec, 0x97, 0x9e, 0x6a,
|
||||
0x93, 0x0d, 0x4d, 0x93, 0x1d, 0x54, 0x77, 0x7a, 0xe6, 0xb5, 0x6f, 0xe0, 0x20, 0xf7, 0x5a, 0x59,
|
||||
0x1f, 0x57, 0x2d, 0x9c, 0xf3, 0x5b, 0x1d, 0xf6, 0xf3, 0xc9, 0x18, 0xfb, 0xb1, 0xa0, 0x13, 0x1a,
|
||||
0xf9, 0xa1, 0x58, 0xda, 0xc3, 0xe8, 0x3e, 0xb4, 0x25, 0x63, 0xe2, 0x07, 0x81, 0x27, 0x98, 0x76,
|
||||
0x51, 0x8b, 0xd3, 0xe8, 0xd4, 0x0f, 0x82, 0x97, 0xcc, 0xb4, 0xb2, 0x35, 0x67, 0xe5, 0xcf, 0xa1,
|
||||
0x1b, 0xcd, 0x1e, 0xea, 0x51, 0x4c, 0x42, 0x41, 0xc5, 0x5b, 0xbd, 0xd6, 0xf7, 0x0a, 0x67, 0x23,
|
||||
0x7d, 0x24, 0xf7, 0x69, 0xf1, 0x4a, 0xe1, 0x45, 0xb7, 0x5d, 0xc0, 0x55, 0x74, 0x04, 0x0d, 0x2c,
|
||||
0xa6, 0x57, 0xfa, 0xf5, 0xaa, 0x7e, 0xa3, 0x23, 0xd8, 0x8a, 0x02, 0xff, 0xad, 0x17, 0xd3, 0xf0,
|
||||
0x5a, 0xb0, 0x30, 0x5d, 0xdb, 0x4d, 0x77, 0x53, 0x82, 0xae, 0xc6, 0x9c, 0x5f, 0x6b, 0x80, 0xcc,
|
||||
0x7a, 0xa8, 0xb1, 0x7c, 0x08, 0x1d, 0x53, 0xad, 0x2e, 0xc7, 0x96, 0xa1, 0xb3, 0x32, 0xa9, 0x7a,
|
||||
0x75, 0x52, 0x77, 0x15, 0x69, 0xf8, 0x6f, 0x03, 0xac, 0x8b, 0xd1, 0x18, 0x3d, 0x85, 0x8e, 0xf9,
|
||||
0xd1, 0x84, 0x66, 0x5b, 0xa7, 0xf4, 0x6b, 0xaa, 0x5f, 0xbe, 0xb8, 0xd1, 0x73, 0xd8, 0x2c, 0xae,
|
||||
0x7d, 0x34, 0x1b, 0xbd, 0x92, 0x97, 0x44, 0xff, 0x83, 0x8a, 0x53, 0x3d, 0xc6, 0x4f, 0xa1, 0x63,
|
||||
0xae, 0xff, 0x82, 0xaa, 0xd2, 0xf7, 0x42, 0x95, 0xaa, 0x57, 0x85, 0x6f, 0x42, 0x63, 0xf3, 0x3e,
|
||||
0x5c, 0xcc, 0xb2, 0x64, 0xf6, 0xfb, 0x77, 0x1a, 0x08, 0xfd, 0x94, 0xbf, 0x01, 0x8d, 0xd8, 0x47,
|
||||
0xf3, 0xc9, 0x95, 0x45, 0x7e, 0x70, 0x37, 0x49, 0x17, 0xe2, 0x55, 0xe1, 0x3d, 0x58, 0xa1, 0xff,
|
||||
0x2e, 0xef, 0xbe, 0x43, 0xff, 0xf7, 0xd0, 0x2d, 0xf3, 0x29, 0x7a, 0xb0, 0x58, 0x9c, 0x45, 0x1b,
|
||||
0xf7, 0xf7, 0x8b, 0xb1, 0xe7, 0xc6, 0xfa, 0xe4, 0xc9, 0x0f, 0x47, 0xd7, 0x54, 0xdc, 0x24, 0x97,
|
||||
0x83, 0x09, 0x9b, 0x1e, 0x6b, 0xe2, 0xb1, 0xfa, 0x64, 0x9f, 0xb0, 0x20, 0x03, 0xfe, 0xac, 0x6f,
|
||||
0xbd, 0xa0, 0xb7, 0xe4, 0x39, 0x15, 0x83, 0xb1, 0x3c, 0xfa, 0xaf, 0xde, 0xd1, 0xff, 0x1f, 0x3f,
|
||||
0x56, 0xc0, 0xe5, 0xba, 0xba, 0xf2, 0xc5, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x16, 0xd4, 0x9c,
|
||||
0xda, 0xfa, 0x0b, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -22,10 +22,17 @@ type RoomID string
|
||||
type RoomName string
|
||||
type ConnectionID string
|
||||
type NodeID string
|
||||
type ParticipantKey string
|
||||
type RoomKey struct {
|
||||
ProjectID string
|
||||
RoomName RoomName
|
||||
}
|
||||
type ParticipantKey struct {
|
||||
RoomKey
|
||||
Identity ParticipantIdentity
|
||||
}
|
||||
|
||||
type stringTypes interface {
|
||||
ParticipantID | RoomID | TrackID | ParticipantIdentity | ParticipantName | RoomName | ConnectionID | NodeID | ParticipantKey
|
||||
ParticipantID | RoomID | TrackID | ParticipantIdentity | ParticipantName | RoomName | ConnectionID | NodeID
|
||||
}
|
||||
|
||||
func IDsAsStrings[T stringTypes](ids []T) []string {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -39,6 +40,7 @@ func InitFromConfig(conf *Config, name string) {
|
||||
l, err := NewZapLogger(conf)
|
||||
if err == nil {
|
||||
SetLogger(l, name)
|
||||
slog.SetDefault(slog.New(ToSlogHandler(l)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +169,7 @@ type zapConfig struct {
|
||||
conf *Config
|
||||
sc *sharedConfig
|
||||
writeEnablers *xsync.MapOf[string, *zaputil.WriteEnabler]
|
||||
levelEnablers *xsync.MapOf[string, *zaputil.OrLevelEnabler]
|
||||
tap *zaputil.WriteEnabler
|
||||
}
|
||||
|
||||
@@ -178,9 +181,14 @@ func WithTap(tap *zaputil.WriteEnabler) ZapLoggerOption {
|
||||
}
|
||||
}
|
||||
|
||||
type ZapComponentLeveler interface {
|
||||
ComponentLevel(component string) zapcore.LevelEnabler
|
||||
}
|
||||
|
||||
type ZapLogger interface {
|
||||
Logger
|
||||
ToZap() *zap.SugaredLogger
|
||||
ComponentLeveler() ZapComponentLeveler
|
||||
}
|
||||
|
||||
type zapLogger[T zaputil.Encoder[T]] struct {
|
||||
@@ -199,6 +207,7 @@ func NewZapLogger(conf *Config, opts ...ZapLoggerOption) (ZapLogger, error) {
|
||||
conf: conf,
|
||||
sc: newSharedConfig(conf),
|
||||
writeEnablers: xsync.NewMapOf[string, *zaputil.WriteEnabler](),
|
||||
levelEnablers: xsync.NewMapOf[string, *zaputil.OrLevelEnabler](),
|
||||
tap: zaputil.NewDiscardWriteEnabler(),
|
||||
}
|
||||
for _, opt := range opts {
|
||||
@@ -252,6 +261,25 @@ func (l *zapLogger[T]) ToZap() *zap.SugaredLogger {
|
||||
return l.zap.WithOptions(zap.WrapCore(func(zapcore.Core) zapcore.Core { return c }))
|
||||
}
|
||||
|
||||
type zapLoggerComponentLeveler[T zaputil.Encoder[T]] struct {
|
||||
zl *zapLogger[T]
|
||||
}
|
||||
|
||||
func (l zapLoggerComponentLeveler[T]) ComponentLevel(component string) zapcore.LevelEnabler {
|
||||
if l.zl.component != "" {
|
||||
component = l.zl.component + "." + component
|
||||
}
|
||||
|
||||
enab, _ := l.zl.levelEnablers.LoadOrCompute(component, func() *zaputil.OrLevelEnabler {
|
||||
return &zaputil.OrLevelEnabler{l.zl.sc.ComponentLevel(component), l.zl.tap}
|
||||
})
|
||||
return enab
|
||||
}
|
||||
|
||||
func (l *zapLogger[T]) ComponentLeveler() ZapComponentLeveler {
|
||||
return zapLoggerComponentLeveler[T]{l}
|
||||
}
|
||||
|
||||
func (l *zapLogger[T]) Debugw(msg string, keysAndValues ...interface{}) {
|
||||
l.zap.Debugw(msg, keysAndValues...)
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
|
||||
"github.com/livekit/protocol/logger/zaputil"
|
||||
@@ -99,6 +100,22 @@ func TestLoggerComponent(t *testing.T) {
|
||||
require.Equal(t, "foo", log.Msg)
|
||||
require.Equal(t, "baz", log.Bar)
|
||||
})
|
||||
|
||||
t.Run("component enabler for tapped logger returns lowest enabled level", func(t *testing.T) {
|
||||
tapLevel := zap.NewAtomicLevel()
|
||||
l, err := NewZapLogger(&Config{Level: "info"}, WithTap(zaputil.NewWriteEnabler(&testBufferedWriteSyncer{}, tapLevel)))
|
||||
require.NoError(t, err)
|
||||
|
||||
lvl := l.ComponentLeveler().ComponentLevel("foo")
|
||||
|
||||
// check config level
|
||||
require.False(t, lvl.Enabled(zapcore.DebugLevel))
|
||||
require.True(t, lvl.Enabled(zapcore.InfoLevel))
|
||||
|
||||
// check tap level
|
||||
tapLevel.SetLevel(zapcore.DebugLevel)
|
||||
require.True(t, lvl.Enabled(zapcore.DebugLevel))
|
||||
})
|
||||
}
|
||||
|
||||
type testBufferedWriteSyncer struct {
|
||||
|
||||
@@ -16,7 +16,6 @@ package pionlogger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/livekit/protocol/logger"
|
||||
)
|
||||
@@ -24,7 +23,7 @@ import (
|
||||
// implements webrtc.LeveledLogger
|
||||
type logAdapter struct {
|
||||
logger logger.Logger
|
||||
ignoredPrefixes []string
|
||||
ignoredPrefixes prefixSet
|
||||
}
|
||||
|
||||
func (l *logAdapter) Trace(msg string) {
|
||||
@@ -36,7 +35,7 @@ func (l *logAdapter) Tracef(format string, args ...interface{}) {
|
||||
}
|
||||
|
||||
func (l *logAdapter) Debug(msg string) {
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Debugw(msg)
|
||||
@@ -44,14 +43,14 @@ func (l *logAdapter) Debug(msg string) {
|
||||
|
||||
func (l *logAdapter) Debugf(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Debugw(msg)
|
||||
}
|
||||
|
||||
func (l *logAdapter) Info(msg string) {
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Infow(msg)
|
||||
@@ -59,14 +58,14 @@ func (l *logAdapter) Info(msg string) {
|
||||
|
||||
func (l *logAdapter) Infof(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Infow(msg)
|
||||
}
|
||||
|
||||
func (l *logAdapter) Warn(msg string) {
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Warnw(msg, nil)
|
||||
@@ -74,14 +73,14 @@ func (l *logAdapter) Warn(msg string) {
|
||||
|
||||
func (l *logAdapter) Warnf(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Warnw(msg, nil)
|
||||
}
|
||||
|
||||
func (l *logAdapter) Error(msg string) {
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Errorw(msg, nil)
|
||||
@@ -89,17 +88,8 @@ func (l *logAdapter) Error(msg string) {
|
||||
|
||||
func (l *logAdapter) Errorf(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if l.shouldIgnore(msg) {
|
||||
if l.ignoredPrefixes.Match(msg) {
|
||||
return
|
||||
}
|
||||
l.logger.Errorw(msg, nil)
|
||||
}
|
||||
|
||||
func (l *logAdapter) shouldIgnore(msg string) bool {
|
||||
for _, prefix := range l.ignoredPrefixes {
|
||||
if strings.HasPrefix(msg, prefix) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -15,13 +15,15 @@
|
||||
package pionlogger
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/pion/logging"
|
||||
|
||||
"github.com/livekit/protocol/logger"
|
||||
)
|
||||
|
||||
var (
|
||||
pionIgnoredPrefixes = map[string][]string{
|
||||
pionIgnoredPrefixes = map[string]prefixSet{
|
||||
"ice": {
|
||||
"pingAllCandidates called with no candidate pairs",
|
||||
"failed to send packet: io: read/write on closed pipe",
|
||||
@@ -48,20 +50,50 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
// LoggerFactory implements webrtc.LoggerFactory interface
|
||||
type LoggerFactory struct {
|
||||
logger logger.Logger
|
||||
}
|
||||
type prefixSet []string
|
||||
|
||||
func NewLoggerFactory(logger logger.Logger) *LoggerFactory {
|
||||
return &LoggerFactory{
|
||||
logger: logger,
|
||||
func (s prefixSet) Match(msg string) bool {
|
||||
for _, prefix := range s {
|
||||
if strings.HasPrefix(msg, prefix) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (f *LoggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
return &logAdapter{
|
||||
logger: f.logger.WithComponent("pion." + scope).WithCallDepth(1),
|
||||
func NewLoggerFactory(l logger.Logger) logging.LoggerFactory {
|
||||
if zl, ok := l.(logger.ZapLogger); ok {
|
||||
return &zapLoggerFactory{zl}
|
||||
}
|
||||
return &loggerFactory{l}
|
||||
}
|
||||
|
||||
// zapLoggerFactory implements logging.LoggerFactory interface for zap loggers
|
||||
type zapLoggerFactory struct {
|
||||
logger logger.ZapLogger
|
||||
}
|
||||
|
||||
func (f *zapLoggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
return &zapLogAdapter{
|
||||
logger: f.logger,
|
||||
level: f.logger.ComponentLeveler().ComponentLevel(formatComponent(scope)),
|
||||
scope: scope,
|
||||
ignoredPrefixes: pionIgnoredPrefixes[scope],
|
||||
}
|
||||
}
|
||||
|
||||
// loggerFactory implements logging.LoggerFactory interface for generic loggers
|
||||
type loggerFactory struct {
|
||||
logger logger.Logger
|
||||
}
|
||||
|
||||
func (f *loggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
return &logAdapter{
|
||||
logger: f.logger.WithComponent(formatComponent(scope)).WithCallDepth(1),
|
||||
ignoredPrefixes: pionIgnoredPrefixes[scope],
|
||||
}
|
||||
}
|
||||
|
||||
func formatComponent(scope string) string {
|
||||
return "pion." + scope
|
||||
}
|
||||
|
||||
139
logger/pionlogger/zaplogadapter.go
Normal file
139
logger/pionlogger/zaplogadapter.go
Normal file
@@ -0,0 +1,139 @@
|
||||
// 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.
|
||||
|
||||
package pionlogger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"go.uber.org/atomic"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
|
||||
"github.com/livekit/protocol/logger"
|
||||
)
|
||||
|
||||
const (
|
||||
zapLogAdapterStateCreated = iota
|
||||
zapLogAdapterStateBuilding
|
||||
zapLogAdapterStateReady
|
||||
)
|
||||
|
||||
// implements webrtc.LeveledLogger
|
||||
type zapLogAdapter struct {
|
||||
state atomic.Uint32
|
||||
logger logger.Logger
|
||||
level zapcore.LevelEnabler
|
||||
scope string
|
||||
ignoredPrefixes prefixSet
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) init() {
|
||||
for l.state.Load() != zapLogAdapterStateReady {
|
||||
if l.state.CompareAndSwap(zapLogAdapterStateCreated, zapLogAdapterStateBuilding) {
|
||||
l.logger = l.logger.WithComponent(formatComponent(l.scope)).WithCallDepth(1)
|
||||
l.state.Store(zapLogAdapterStateReady)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Trace(msg string) {
|
||||
if l.level.Enabled(zap.DebugLevel) {
|
||||
l.init()
|
||||
l.logger.Debugw(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Tracef(format string, args ...interface{}) {
|
||||
if l.level.Enabled(zap.DebugLevel) {
|
||||
l.init()
|
||||
l.logger.Debugw(fmt.Sprintf(format, args...))
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Debug(msg string) {
|
||||
if l.level.Enabled(zap.DebugLevel) {
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Debugw(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Debugf(format string, args ...interface{}) {
|
||||
if l.level.Enabled(zap.DebugLevel) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Debugw(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Info(msg string) {
|
||||
if l.level.Enabled(zap.InfoLevel) {
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Infow(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Infof(format string, args ...interface{}) {
|
||||
if l.level.Enabled(zap.InfoLevel) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Infow(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Warn(msg string) {
|
||||
if l.level.Enabled(zap.WarnLevel) {
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Warnw(msg, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Warnf(format string, args ...interface{}) {
|
||||
if l.level.Enabled(zap.WarnLevel) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Warnw(msg, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Error(msg string) {
|
||||
if l.level.Enabled(zap.ErrorLevel) {
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Errorw(msg, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (l *zapLogAdapter) Errorf(format string, args ...interface{}) {
|
||||
if l.level.Enabled(zap.ErrorLevel) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
if !l.ignoredPrefixes.Match(msg) {
|
||||
l.init()
|
||||
l.logger.Errorw(msg, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
102
logger/slog.go
Normal file
102
logger/slog.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"go.uber.org/zap/exp/zapslog"
|
||||
)
|
||||
|
||||
// NewSlogDiscard creates a slog.Handler that discards all logs.
|
||||
func NewSlogDiscard() slog.Handler {
|
||||
return slogDiscard{}
|
||||
}
|
||||
|
||||
// ToSlogHandler converts Logger to slog.Handler.
|
||||
func ToSlogHandler(log Logger) slog.Handler {
|
||||
switch log := log.(type) {
|
||||
case ZapLogger:
|
||||
zlog := log.ToZap().Desugar()
|
||||
return zapslog.NewHandler(zlog.Core(), &zapslog.HandlerOptions{AddSource: true})
|
||||
case LogRLogger:
|
||||
return logr.ToSlogHandler(log.toLogr())
|
||||
}
|
||||
return slogHandler{log, ""}
|
||||
}
|
||||
|
||||
type slogDiscard struct{}
|
||||
|
||||
func (_ slogDiscard) Enabled(ctx context.Context, level slog.Level) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (_ slogDiscard) Handle(ctx context.Context, record slog.Record) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (l slogDiscard) WithAttrs(attrs []slog.Attr) slog.Handler {
|
||||
return l
|
||||
}
|
||||
|
||||
func (l slogDiscard) WithGroup(name string) slog.Handler {
|
||||
return l
|
||||
}
|
||||
|
||||
type slogHandler struct {
|
||||
log Logger
|
||||
group string
|
||||
}
|
||||
|
||||
func (l slogHandler) Enabled(ctx context.Context, level slog.Level) bool {
|
||||
return true // so such method on Logger
|
||||
}
|
||||
|
||||
func (l slogHandler) getGroup() string {
|
||||
group := l.group
|
||||
if group != "" {
|
||||
group = group + "."
|
||||
}
|
||||
return group
|
||||
}
|
||||
|
||||
func (l slogHandler) Handle(ctx context.Context, r slog.Record) error {
|
||||
keysAndValues := make([]any, 0, r.NumAttrs()*2)
|
||||
group := l.getGroup()
|
||||
r.Attrs(func(attr slog.Attr) bool {
|
||||
keysAndValues = append(keysAndValues, group+attr.Key, attr.Value.Resolve().Any())
|
||||
return true
|
||||
})
|
||||
switch r.Level {
|
||||
case slog.LevelDebug:
|
||||
l.log.Debugw(r.Message, keysAndValues...)
|
||||
default:
|
||||
fallthrough
|
||||
case slog.LevelInfo:
|
||||
l.log.Infow(r.Message, keysAndValues...)
|
||||
case slog.LevelWarn:
|
||||
l.log.Warnw(r.Message, nil, keysAndValues...)
|
||||
case slog.LevelError:
|
||||
l.log.Errorw(r.Message, nil, keysAndValues...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (l slogHandler) WithAttrs(attrs []slog.Attr) slog.Handler {
|
||||
log := l.log
|
||||
keysAndValues := make([]any, 0, len(attrs)*2)
|
||||
group := l.getGroup()
|
||||
for _, attr := range attrs {
|
||||
keysAndValues = append(keysAndValues, group+attr.Key, attr.Value.Resolve().Any())
|
||||
}
|
||||
log = log.WithValues(keysAndValues...)
|
||||
return slogHandler{log, l.group}
|
||||
}
|
||||
|
||||
func (l slogHandler) WithGroup(name string) slog.Handler {
|
||||
group := name
|
||||
if l.group != "" {
|
||||
group = l.group + "." + name
|
||||
}
|
||||
return slogHandler{l.log, group}
|
||||
}
|
||||
23
logger/zaputil/orlevelenabler.go
Normal file
23
logger/zaputil/orlevelenabler.go
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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.
|
||||
|
||||
package zaputil
|
||||
|
||||
import "go.uber.org/zap/zapcore"
|
||||
|
||||
type OrLevelEnabler [2]zapcore.LevelEnabler
|
||||
|
||||
func (e OrLevelEnabler) Enabled(lvl zapcore.Level) bool {
|
||||
return e[0].Enabled(lvl) || e[1].Enabled(lvl)
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "github.com/livekit/protocol",
|
||||
"private": true,
|
||||
"version": "1.12.0",
|
||||
"version": "1.14.0",
|
||||
"scripts": {
|
||||
"changeset": "changeset",
|
||||
"ci:publish": "pnpm --filter @livekit/protocol run build && changeset publish"
|
||||
|
||||
@@ -1,5 +1,25 @@
|
||||
# @livekit/protocol
|
||||
|
||||
## 1.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Added real-time Transcription protocol - [#686](https://github.com/livekit/protocol/pull/686) ([@davidzhao](https://github.com/davidzhao))
|
||||
|
||||
- WHIP protocol change - [#680](https://github.com/livekit/protocol/pull/680) ([@biglittlebigben](https://github.com/biglittlebigben))
|
||||
|
||||
Deprecate the bypass_transcoding property in all ingress APIs and introduce the optional enable_transcoding property. This property will default to false for WHIP and to true for all other ingress types.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Add SIP participant name. - [#687](https://github.com/livekit/protocol/pull/687) ([@dennwc](https://github.com/dennwc))
|
||||
|
||||
## 1.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Add and option to play ringtone for SIP outbound calls. - [#671](https://github.com/livekit/protocol/pull/671) ([@dennwc](https://github.com/dennwc))
|
||||
|
||||
## 1.12.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@livekit/protocol",
|
||||
"version": "1.12.0",
|
||||
"version": "1.14.0",
|
||||
"description": "",
|
||||
"type": "module",
|
||||
"main": "src/index.js",
|
||||
|
||||
24
pnpm-lock.yaml
generated
24
pnpm-lock.yaml
generated
@@ -19,11 +19,11 @@ importers:
|
||||
dependencies:
|
||||
'@bufbuild/protobuf':
|
||||
specifier: ^1.7.2
|
||||
version: 1.7.2
|
||||
version: 1.8.0
|
||||
devDependencies:
|
||||
'@bufbuild/protoc-gen-es':
|
||||
specifier: ^1.7.2
|
||||
version: 1.7.2(@bufbuild/protobuf@1.7.2)
|
||||
version: 1.8.0(@bufbuild/protobuf@1.8.0)
|
||||
genversion:
|
||||
specifier: ^3.2.0
|
||||
version: 3.2.0
|
||||
@@ -59,29 +59,29 @@ packages:
|
||||
regenerator-runtime: 0.14.1
|
||||
dev: true
|
||||
|
||||
/@bufbuild/protobuf@1.7.2:
|
||||
resolution: {integrity: sha512-i5GE2Dk5ekdlK1TR7SugY4LWRrKSfb5T1Qn4unpIMbfxoeGKERKQ59HG3iYewacGD10SR7UzevfPnh6my4tNmQ==}
|
||||
/@bufbuild/protobuf@1.8.0:
|
||||
resolution: {integrity: sha512-qR9FwI8QKIveDnUYutvfzbC21UZJJryYrLuZGjeZ/VGz+vXelUkK+xgkOHsvPEdYEdxtgUUq4313N8QtOehJ1Q==}
|
||||
|
||||
/@bufbuild/protoc-gen-es@1.7.2(@bufbuild/protobuf@1.7.2):
|
||||
resolution: {integrity: sha512-yiRk/T+YGmpSVvIkybCjPt+QyM/pLWMO+MAiz6auvCsiAgfXfc5nFFosD4yBYXID55M6eIkgBcity1AoJ6I30A==}
|
||||
/@bufbuild/protoc-gen-es@1.8.0(@bufbuild/protobuf@1.8.0):
|
||||
resolution: {integrity: sha512-jnvBKwHq3o/iOgfKxaxn5Za7ay4oAs8KWgoHiDc9Fsb0g+/d1z+mHlHvmevOiCPcVZsnH6V3LImOJvGStPONpA==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@bufbuild/protobuf': 1.7.2
|
||||
'@bufbuild/protobuf': 1.8.0
|
||||
peerDependenciesMeta:
|
||||
'@bufbuild/protobuf':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@bufbuild/protobuf': 1.7.2
|
||||
'@bufbuild/protoplugin': 1.7.2
|
||||
'@bufbuild/protobuf': 1.8.0
|
||||
'@bufbuild/protoplugin': 1.8.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@bufbuild/protoplugin@1.7.2:
|
||||
resolution: {integrity: sha512-N3QtO8XWD4F4alMtASWtxBw6BWXp4aLz7rPBXH4KTULdjpUHnq46g15TsrG0/8szZw6pIklTO3lFe14dl6ZYdA==}
|
||||
/@bufbuild/protoplugin@1.8.0:
|
||||
resolution: {integrity: sha512-Pb89cTshW+I577qh27VvxGYvZEvQ3zJ8La1OfzPCKugP9d4A4P65WStkAY+aSCiDHk68m1/+mtBb6elfiLPuFg==}
|
||||
dependencies:
|
||||
'@bufbuild/protobuf': 1.7.2
|
||||
'@bufbuild/protobuf': 1.8.0
|
||||
'@typescript/vfs': 1.5.0
|
||||
typescript: 4.5.2
|
||||
transitivePeerDependencies:
|
||||
|
||||
@@ -21,6 +21,15 @@ option ruby_package = "LiveKit::Proto";
|
||||
|
||||
import "livekit_models.proto";
|
||||
|
||||
message WorkerInfo {
|
||||
string id = 1;
|
||||
string namespace = 2;
|
||||
string version = 3;
|
||||
string name = 4;
|
||||
JobType type = 5;
|
||||
ParticipantPermission allowed_permissions = 6;
|
||||
}
|
||||
|
||||
message AgentInfo {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
@@ -32,6 +41,7 @@ message Job {
|
||||
JobType type = 2;
|
||||
Room room = 3;
|
||||
optional ParticipantInfo participant = 4;
|
||||
string namespace = 5;
|
||||
}
|
||||
|
||||
// from Worker to Server
|
||||
@@ -41,9 +51,15 @@ message WorkerMessage {
|
||||
RegisterWorkerRequest register = 1;
|
||||
// worker confirms to server that it's available for a job, or declines it
|
||||
AvailabilityResponse availability = 2;
|
||||
|
||||
// worker can update its status to the server, including taking itself out of the pool
|
||||
UpdateWorkerStatus status = 3;
|
||||
JobStatusUpdate job_update = 4;
|
||||
UpdateWorkerStatus update_worker = 3;
|
||||
// job can send status updates to the server, useful for tracking progress
|
||||
UpdateJobStatus update_job = 4;
|
||||
|
||||
WorkerPing ping = 5;
|
||||
SimulateJobRequest simulate_job = 6;
|
||||
MigrateJobRequest migrate_job = 7;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -55,6 +71,7 @@ message ServerMessage {
|
||||
// server asks worker to confirm availability for a job
|
||||
AvailabilityRequest availability = 2;
|
||||
JobAssignment assignment = 3;
|
||||
WorkerPong pong = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,38 +91,84 @@ enum JobStatus {
|
||||
JS_FAILED = 2;
|
||||
}
|
||||
|
||||
message SimulateJobRequest {
|
||||
JobType type = 1;
|
||||
Room room = 2;
|
||||
ParticipantInfo participant = 3;
|
||||
}
|
||||
|
||||
message WorkerPing {
|
||||
int64 timestamp = 1;
|
||||
}
|
||||
|
||||
message WorkerPong {
|
||||
int64 last_timestamp = 1;
|
||||
int64 timestamp = 2;
|
||||
}
|
||||
|
||||
message RegisterWorkerRequest {
|
||||
JobType type = 1;
|
||||
string worker_id = 2;
|
||||
//string worker_id = 2;
|
||||
string version = 3;
|
||||
string name = 4;
|
||||
uint32 ping_interval = 5;
|
||||
optional string namespace = 6;
|
||||
ParticipantPermission allowed_permissions = 7;
|
||||
}
|
||||
|
||||
message RegisterWorkerResponse {
|
||||
string worker_id = 1;
|
||||
string server_version = 2;
|
||||
ServerInfo server_info = 3;
|
||||
}
|
||||
|
||||
message MigrateJobRequest {
|
||||
string job_id = 1;
|
||||
}
|
||||
|
||||
message AvailabilityRequest {
|
||||
Job job = 1;
|
||||
|
||||
// True when the job was previously assigned to another worker but has been
|
||||
// migrated due to different reasons (e.g. worker failure, job migration)
|
||||
bool resuming = 2;
|
||||
}
|
||||
|
||||
|
||||
message AvailabilityResponse {
|
||||
string job_id = 1;
|
||||
bool available = 2;
|
||||
bool supports_resume = 3;
|
||||
|
||||
string participant_name = 4;
|
||||
string participant_identity = 5;
|
||||
string participant_metadata = 6;
|
||||
}
|
||||
|
||||
message JobStatusUpdate {
|
||||
message UpdateJobStatus {
|
||||
string job_id = 1;
|
||||
JobStatus status = 2;
|
||||
|
||||
// The worker can indicate the job end by either specifying SUCCESS or FAILED
|
||||
optional JobStatus status = 2;
|
||||
|
||||
// metadata shown on the dashboard, useful for debugging
|
||||
string error = 3;
|
||||
string user_data = 4;
|
||||
|
||||
// the metadata can be updated multiple times
|
||||
optional string metadata = 4;
|
||||
|
||||
// The load that the job currently has on the worker
|
||||
float load = 5;
|
||||
}
|
||||
|
||||
message UpdateWorkerStatus {
|
||||
optional WorkerStatus status = 1;
|
||||
optional string metadata = 2;
|
||||
float load = 3;
|
||||
}
|
||||
|
||||
message JobAssignment {
|
||||
Job job = 1;
|
||||
optional string url = 2;
|
||||
string token = 3;
|
||||
}
|
||||
|
||||
message UpdateWorkerStatus {
|
||||
WorkerStatus status = 1;
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@ message AnalyticsStream {
|
||||
uint32 plis = 13;
|
||||
uint32 firs = 14;
|
||||
repeated AnalyticsVideoLayer video_layers = 15;
|
||||
google.protobuf.Timestamp start_time = 17;
|
||||
google.protobuf.Timestamp end_time = 18;
|
||||
}
|
||||
|
||||
message AnalyticsStat {
|
||||
@@ -75,7 +77,6 @@ message AnalyticsStat {
|
||||
string mime = 11;
|
||||
float min_score = 12;
|
||||
float median_score = 13;
|
||||
string project_id = 14;
|
||||
}
|
||||
|
||||
message AnalyticsStats {
|
||||
@@ -123,6 +124,9 @@ message AnalyticsClientMeta {
|
||||
// udp, tcp, turn
|
||||
string connection_type = 5;
|
||||
ReconnectReason reconnect_reason = 6;
|
||||
optional string geo_hash = 7;
|
||||
optional string country = 8;
|
||||
optional uint32 isp_asn = 9;
|
||||
}
|
||||
|
||||
message AnalyticsEvent {
|
||||
@@ -147,7 +151,6 @@ message AnalyticsEvent {
|
||||
string error = 20;
|
||||
RTPStats rtp_stats = 21;
|
||||
int32 video_layer = 22;
|
||||
string project_id = 23;
|
||||
|
||||
// NEXT_ID: 24
|
||||
}
|
||||
@@ -167,8 +170,11 @@ message AnalyticsRoomParticipant {
|
||||
message AnalyticsRoom {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string project_id = 5;
|
||||
google.protobuf.Timestamp created_at = 3;
|
||||
repeated AnalyticsRoomParticipant participants = 4;
|
||||
|
||||
// NEXT_ID: 6
|
||||
}
|
||||
|
||||
message AnalyticsNodeRooms {
|
||||
@@ -176,4 +182,4 @@ message AnalyticsNodeRooms {
|
||||
uint64 sequence_number = 2;
|
||||
google.protobuf.Timestamp timestamp = 3;
|
||||
repeated AnalyticsRoom rooms = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,14 @@ message CreateIngressRequest {
|
||||
string participant_name = 5;
|
||||
// metadata associated with the publishing participant
|
||||
string participant_metadata = 10;
|
||||
// whether to pass through the incoming media without transcoding, only compatible with some input types
|
||||
bool bypass_transcoding = 8;
|
||||
// [depreacted ] whether to pass through the incoming media without transcoding, only compatible with some input types. Use `enable_transcoding` instead.
|
||||
bool bypass_transcoding = 8 [deprecated = true];
|
||||
// Whether to transcode the ingested media. Only WHIP supports disabling transcoding currently. WHIP will default to transcoding disabled. Replaces `bypass_transcoding.
|
||||
optional bool enable_transcoding = 11;
|
||||
IngressAudioOptions audio = 6;
|
||||
IngressVideoOptions video = 7;
|
||||
|
||||
// NEXT_ID: 12
|
||||
}
|
||||
|
||||
enum IngressInput {
|
||||
@@ -93,8 +97,6 @@ enum IngressVideoEncodingPreset {
|
||||
H264_540P_25FPS_2_LAYERS_HIGH_MOTION = 7; // 960x540, 25fps, 1300kbps main layer, 2 layers total, higher bitrate for high motion, harder to encode content
|
||||
H264_720P_30FPS_1_LAYER_HIGH_MOTION = 8; // 1280x720, 30fps, 2500kbps, no simulcast, higher bitrate for high motion, harder to encode content
|
||||
H264_1080P_30FPS_1_LAYER_HIGH_MOTION = 9; // 1980x1080, 30fps, 4500kbps, no simulcast, higher bitrate for high motion, harder to encode content
|
||||
|
||||
|
||||
}
|
||||
|
||||
message IngressAudioEncodingOptions {
|
||||
@@ -122,7 +124,8 @@ message IngressInfo {
|
||||
// for FILE input, it'll be a http:// URL
|
||||
// for SRT input, it'll be a srt:// URL
|
||||
IngressInput input_type = 5;
|
||||
bool bypass_transcoding = 13;
|
||||
bool bypass_transcoding = 13 [deprecated = true];
|
||||
optional bool enable_transcoding = 15;
|
||||
IngressAudioOptions audio = 6;
|
||||
IngressVideoOptions video = 7;
|
||||
string room_name = 8;
|
||||
@@ -132,7 +135,7 @@ message IngressInfo {
|
||||
bool reusable = 11;
|
||||
IngressState state = 12; // Description of error/stream non compliance and debug info for publisher otherwise (received bitrate, resolution, bandwidth)
|
||||
|
||||
// NEXT_ID: 15
|
||||
// NEXT_ID: 16
|
||||
}
|
||||
|
||||
message IngressState {
|
||||
@@ -151,8 +154,11 @@ message IngressState {
|
||||
string room_id = 5; // ID of the current/previous room published to
|
||||
int64 started_at = 7;
|
||||
int64 ended_at = 8;
|
||||
int64 updated_at = 10;
|
||||
string resource_id = 9;
|
||||
repeated TrackInfo tracks = 6;
|
||||
|
||||
// next ID: 11
|
||||
}
|
||||
|
||||
message InputVideoState {
|
||||
@@ -177,11 +183,12 @@ message UpdateIngressRequest {
|
||||
string participant_identity = 4;
|
||||
string participant_name = 5;
|
||||
string participant_metadata = 9;
|
||||
optional bool bypass_transcoding = 8;
|
||||
optional bool bypass_transcoding = 8 [deprecated = true];
|
||||
optional bool enable_transcoding = 10;
|
||||
IngressAudioOptions audio = 6;
|
||||
IngressVideoOptions video = 7;
|
||||
|
||||
// NEXT_ID: 10
|
||||
// NEXT_ID: 11
|
||||
}
|
||||
|
||||
message ListIngressRequest {
|
||||
|
||||
@@ -186,6 +186,7 @@ message TrackInfo {
|
||||
Encryption.Type encryption = 16;
|
||||
string stream = 17;
|
||||
TimedVersion version = 18;
|
||||
repeated AudioTrackFeature audio_features = 19;
|
||||
}
|
||||
|
||||
enum VideoQuality {
|
||||
@@ -221,7 +222,9 @@ message DataPacket {
|
||||
UserPacket user = 2;
|
||||
ActiveSpeakerUpdate speaker = 3 [deprecated=true];
|
||||
SipDTMF sip_dtmf = 6;
|
||||
Transcription transcription = 7;
|
||||
}
|
||||
// NEXT_ID: 8
|
||||
}
|
||||
|
||||
message ActiveSpeakerUpdate {
|
||||
@@ -248,8 +251,13 @@ message UserPacket {
|
||||
repeated string destination_identities = 6 [deprecated=true];
|
||||
// topic under which the message was published
|
||||
optional string topic = 4;
|
||||
// Unique ID to indentify the message
|
||||
optional string id = 8;
|
||||
// start and end time allow relating the message to specific media time
|
||||
optional uint64 start_time = 9;
|
||||
optional uint64 end_time = 10;
|
||||
|
||||
// NEXT_ID: 7
|
||||
// NEXT_ID: 11
|
||||
}
|
||||
|
||||
message SipDTMF {
|
||||
@@ -257,6 +265,21 @@ message SipDTMF {
|
||||
string digit = 4;
|
||||
}
|
||||
|
||||
message Transcription {
|
||||
string participant_identity = 2;
|
||||
string track_id = 3;
|
||||
repeated TranscriptionSegment segments = 4;
|
||||
string language = 5;
|
||||
}
|
||||
|
||||
message TranscriptionSegment {
|
||||
string id = 1;
|
||||
string text = 2;
|
||||
uint64 start_time = 3;
|
||||
uint64 end_time = 4;
|
||||
bool final = 5;
|
||||
}
|
||||
|
||||
enum ConnectionQuality {
|
||||
POOR = 0;
|
||||
GOOD = 1;
|
||||
@@ -283,6 +306,7 @@ message ServerInfo {
|
||||
string node_id = 5;
|
||||
// additional debugging information. sent only if server is in development mode
|
||||
string debug_info = 6;
|
||||
int32 agent_protocol = 7;
|
||||
}
|
||||
|
||||
// details about the client
|
||||
|
||||
@@ -38,7 +38,7 @@ message SignalRequest {
|
||||
// Immediately terminate session
|
||||
LeaveRequest leave = 8;
|
||||
// Update published video layers
|
||||
UpdateVideoLayers update_layers = 10;
|
||||
UpdateVideoLayers update_layers = 10 [deprecated = true];
|
||||
// Update subscriber permissions
|
||||
SubscriptionPermission subscription_permission = 11;
|
||||
// sync client's subscribe state to server during reconnect
|
||||
@@ -259,6 +259,7 @@ message LeaveRequest {
|
||||
|
||||
// message to indicate published video track dimensions are changing
|
||||
message UpdateVideoLayers {
|
||||
option deprecated = true;
|
||||
string track_sid = 1;
|
||||
repeated VideoLayer layers = 2;
|
||||
}
|
||||
|
||||
@@ -197,9 +197,15 @@ message CreateSIPParticipantRequest {
|
||||
// Optional identity of the participant in LiveKit room
|
||||
string participant_identity = 4;
|
||||
|
||||
// Optional name of the participant in LiveKit room
|
||||
string participant_name = 7;
|
||||
|
||||
// Optionally send following DTMF digits (extension codes) when making a call.
|
||||
// Character 'w' can be used to add a 0.5 sec delay.
|
||||
string dtmf = 5;
|
||||
|
||||
// Optionally play ringtone in the room as an audible indicator for existing participants
|
||||
bool play_ringtone = 6;
|
||||
}
|
||||
|
||||
message SIPParticipantInfo {
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "google/protobuf/empty.proto";
|
||||
import "options.proto";
|
||||
@@ -27,16 +27,22 @@ service AgentInternal {
|
||||
option (psrpc.options).multi = true;
|
||||
};
|
||||
rpc JobRequest(livekit.Job) returns (google.protobuf.Empty) {
|
||||
option (psrpc.options).affinity_func = true;
|
||||
option (psrpc.options).topics = true;
|
||||
option (psrpc.options) = {
|
||||
affinity_func: true
|
||||
topics: true
|
||||
topic_params: {
|
||||
names: ["namespace", "job_type"]
|
||||
typed: false
|
||||
}
|
||||
};
|
||||
};
|
||||
rpc AgentRegistered(google.protobuf.Empty) returns (CheckEnabledResponse) {
|
||||
rpc WorkerRegistered(google.protobuf.Empty) returns (google.protobuf.Empty) {
|
||||
option (psrpc.options) = {
|
||||
subscription: true
|
||||
multi: true
|
||||
topics: true
|
||||
topic_params: {
|
||||
names: ["project_id"]
|
||||
names: ["handler_namespace"]
|
||||
typed: false
|
||||
}
|
||||
};
|
||||
@@ -48,4 +54,5 @@ message CheckEnabledRequest{}
|
||||
message CheckEnabledResponse {
|
||||
bool room_enabled = 1;
|
||||
bool publisher_enabled = 2;
|
||||
repeated string namespaces = 3;
|
||||
}
|
||||
|
||||
@@ -16,9 +16,8 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "google/protobuf/any.proto";
|
||||
import "options.proto";
|
||||
import "livekit_egress.proto";
|
||||
|
||||
@@ -59,9 +58,6 @@ message StartEgressRequest {
|
||||
string room_id = 3;
|
||||
string token = 8;
|
||||
string ws_url = 9;
|
||||
|
||||
// metadata
|
||||
map<string, google.protobuf.Any> metadata = 12;
|
||||
}
|
||||
|
||||
message ListActiveEgressRequest {}
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
import "livekit_ingress.proto";
|
||||
@@ -42,7 +42,7 @@ service IngressHandler {
|
||||
};
|
||||
rpc DeleteWHIPResource(DeleteWHIPResourceRequest) returns (google.protobuf.Empty) {
|
||||
option (psrpc.options).topics = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
message ListActiveIngressRequest {}
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "livekit_egress.proto";
|
||||
import "livekit_ingress.proto";
|
||||
@@ -31,7 +31,7 @@ service IOInfo {
|
||||
rpc UpdateMetrics(UpdateMetricsRequest) returns (google.protobuf.Empty);
|
||||
|
||||
// ingress
|
||||
rpc CreateIngress(livekit.IngressInfo) returns (google.protobuf.Empty);
|
||||
rpc CreateIngress(livekit.IngressInfo) returns (google.protobuf.Empty);
|
||||
rpc GetIngressInfo(GetIngressInfoRequest) returns (GetIngressInfoResponse);
|
||||
rpc UpdateIngressState(UpdateIngressStateRequest) returns (google.protobuf.Empty);
|
||||
|
||||
@@ -136,4 +136,4 @@ enum SIPDispatchResult {
|
||||
REQUEST_PIN = 2;
|
||||
REJECT = 3;
|
||||
DROP = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
import "livekit_models.proto";
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
import "livekit_models.proto";
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
import "livekit_internal.proto";
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax = "proto3";
|
||||
|
||||
package rpc;
|
||||
|
||||
option go_package = "github.com/livekit/livekit/pkg/service/rpc";
|
||||
option go_package = "github.com/livekit/protocol/rpc";
|
||||
|
||||
import "options.proto";
|
||||
|
||||
@@ -52,6 +52,9 @@ message InternalCreateSIPParticipantRequest {
|
||||
// Optionally send following DTMF digits (extension codes) when making a call.
|
||||
// Character 'w' can be used to add a 0.5 sec delay.
|
||||
string dtmf = 11;
|
||||
|
||||
// Optionally play ringtone in the room as an audible indicator for existing participants
|
||||
bool play_ringtone = 12;
|
||||
}
|
||||
|
||||
message InternalCreateSIPParticipantResponse {
|
||||
|
||||
@@ -80,8 +80,9 @@ type CheckEnabledResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RoomEnabled bool `protobuf:"varint,1,opt,name=room_enabled,json=roomEnabled,proto3" json:"room_enabled,omitempty"`
|
||||
PublisherEnabled bool `protobuf:"varint,2,opt,name=publisher_enabled,json=publisherEnabled,proto3" json:"publisher_enabled,omitempty"`
|
||||
RoomEnabled bool `protobuf:"varint,1,opt,name=room_enabled,json=roomEnabled,proto3" json:"room_enabled,omitempty"`
|
||||
PublisherEnabled bool `protobuf:"varint,2,opt,name=publisher_enabled,json=publisherEnabled,proto3" json:"publisher_enabled,omitempty"`
|
||||
Namespaces []string `protobuf:"bytes,3,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
|
||||
}
|
||||
|
||||
func (x *CheckEnabledResponse) Reset() {
|
||||
@@ -130,6 +131,13 @@ func (x *CheckEnabledResponse) GetPublisherEnabled() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *CheckEnabledResponse) GetNamespaces() []string {
|
||||
if x != nil {
|
||||
return x.Namespaces
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_rpc_agent_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_rpc_agent_proto_rawDesc = []byte{
|
||||
@@ -139,33 +147,36 @@ var file_rpc_agent_proto_rawDesc = []byte{
|
||||
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, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x66,
|
||||
0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x65,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x6f,
|
||||
0x6f, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62,
|
||||
0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x32, 0xfa, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74,
|
||||
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63,
|
||||
0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43,
|
||||
0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xb2,
|
||||
0x89, 0x01, 0x02, 0x28, 0x01, 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, 0x12, 0x5e, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69,
|
||||
0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19,
|
||||
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0xb2, 0x89, 0x01, 0x14, 0x08,
|
||||
0x01, 0x10, 0x01, 0x1a, 0x0c, 0x12, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x28, 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,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x86,
|
||||
0x01, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f,
|
||||
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75,
|
||||
0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73,
|
||||
0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x32, 0x96, 0x02, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x68, 0x65,
|
||||
0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x2e,
|
||||
0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
|
||||
0xb2, 0x89, 0x01, 0x02, 0x28, 0x01, 0x12, 0x53, 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, 0x1f, 0xb2, 0x89, 0x01, 0x1b,
|
||||
0x10, 0x01, 0x1a, 0x15, 0x12, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
|
||||
0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x30, 0x01, 0x12, 0x63, 0x0a, 0x10, 0x57,
|
||||
0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12,
|
||||
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 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,
|
||||
0x1f, 0xb2, 0x89, 0x01, 0x1b, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x13, 0x12, 0x11, 0x68, 0x61, 0x6e,
|
||||
0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x01,
|
||||
0x42, 0x21, 0x5a, 0x1f, 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,
|
||||
0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -190,10 +201,10 @@ var file_rpc_agent_proto_goTypes = []interface{}{
|
||||
var file_rpc_agent_proto_depIdxs = []int32{
|
||||
0, // 0: rpc.AgentInternal.CheckEnabled:input_type -> rpc.CheckEnabledRequest
|
||||
2, // 1: rpc.AgentInternal.JobRequest:input_type -> livekit.Job
|
||||
3, // 2: rpc.AgentInternal.AgentRegistered:input_type -> google.protobuf.Empty
|
||||
3, // 2: rpc.AgentInternal.WorkerRegistered:input_type -> google.protobuf.Empty
|
||||
1, // 3: rpc.AgentInternal.CheckEnabled:output_type -> rpc.CheckEnabledResponse
|
||||
3, // 4: rpc.AgentInternal.JobRequest:output_type -> google.protobuf.Empty
|
||||
1, // 5: rpc.AgentInternal.AgentRegistered:output_type -> rpc.CheckEnabledResponse
|
||||
3, // 5: rpc.AgentInternal.WorkerRegistered:output_type -> google.protobuf.Empty
|
||||
3, // [3:6] is the sub-list for method output_type
|
||||
0, // [0:3] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
|
||||
@@ -25,9 +25,9 @@ var _ = version.PsrpcVersion_0_5
|
||||
type AgentInternalClient interface {
|
||||
CheckEnabled(ctx context.Context, req *CheckEnabledRequest, opts ...psrpc.RequestOption) (<-chan *psrpc.Response[*CheckEnabledResponse], error)
|
||||
|
||||
JobRequest(ctx context.Context, topic string, req *livekit1.Job, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error)
|
||||
JobRequest(ctx context.Context, namespace string, jobType string, req *livekit1.Job, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error)
|
||||
|
||||
SubscribeAgentRegistered(ctx context.Context, projectId string) (psrpc.Subscription[*CheckEnabledResponse], error)
|
||||
SubscribeWorkerRegistered(ctx context.Context, handlerNamespace string) (psrpc.Subscription[*google_protobuf.Empty], error)
|
||||
}
|
||||
|
||||
// ==================================
|
||||
@@ -46,9 +46,9 @@ type AgentInternalServerImpl interface {
|
||||
// ==============================
|
||||
|
||||
type AgentInternalServer interface {
|
||||
RegisterJobRequestTopic(topic string) error
|
||||
DeregisterJobRequestTopic(topic string)
|
||||
PublishAgentRegistered(ctx context.Context, projectId string, msg *CheckEnabledResponse) error
|
||||
RegisterJobRequestTopic(namespace string, jobType string) error
|
||||
DeregisterJobRequestTopic(namespace string, jobType string)
|
||||
PublishWorkerRegistered(ctx context.Context, handlerNamespace string, msg *google_protobuf.Empty) error
|
||||
|
||||
// Close and wait for pending RPCs to complete
|
||||
Shutdown()
|
||||
@@ -74,7 +74,7 @@ func NewAgentInternalClient(bus psrpc.MessageBus, opts ...psrpc.ClientOption) (A
|
||||
|
||||
sd.RegisterMethod("CheckEnabled", false, true, false, false)
|
||||
sd.RegisterMethod("JobRequest", true, false, true, false)
|
||||
sd.RegisterMethod("AgentRegistered", false, true, false, false)
|
||||
sd.RegisterMethod("WorkerRegistered", false, true, false, false)
|
||||
|
||||
rpcClient, err := client.NewRPCClient(sd, bus, opts...)
|
||||
if err != nil {
|
||||
@@ -90,12 +90,12 @@ func (c *agentInternalClient) CheckEnabled(ctx context.Context, req *CheckEnable
|
||||
return client.RequestMulti[*CheckEnabledResponse](ctx, c.client, "CheckEnabled", nil, req, opts...)
|
||||
}
|
||||
|
||||
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...)
|
||||
func (c *agentInternalClient) JobRequest(ctx context.Context, namespace string, jobType string, req *livekit1.Job, opts ...psrpc.RequestOption) (*google_protobuf.Empty, error) {
|
||||
return client.RequestSingle[*google_protobuf.Empty](ctx, c.client, "JobRequest", []string{namespace, jobType}, req, opts...)
|
||||
}
|
||||
|
||||
func (c *agentInternalClient) SubscribeAgentRegistered(ctx context.Context, projectId string) (psrpc.Subscription[*CheckEnabledResponse], error) {
|
||||
return client.Join[*CheckEnabledResponse](ctx, c.client, "AgentRegistered", []string{projectId})
|
||||
func (c *agentInternalClient) SubscribeWorkerRegistered(ctx context.Context, handlerNamespace string) (psrpc.Subscription[*google_protobuf.Empty], error) {
|
||||
return client.Join[*google_protobuf.Empty](ctx, c.client, "WorkerRegistered", []string{handlerNamespace})
|
||||
}
|
||||
|
||||
// ====================
|
||||
@@ -126,23 +126,23 @@ func NewAgentInternalServer(svc AgentInternalServerImpl, bus psrpc.MessageBus, o
|
||||
}
|
||||
|
||||
sd.RegisterMethod("JobRequest", true, false, true, false)
|
||||
sd.RegisterMethod("AgentRegistered", false, true, false, false)
|
||||
sd.RegisterMethod("WorkerRegistered", false, true, false, 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) RegisterJobRequestTopic(namespace string, jobType string) error {
|
||||
return server.RegisterHandler(s.rpc, "JobRequest", []string{namespace, jobType}, s.svc.JobRequest, s.svc.JobRequestAffinity)
|
||||
}
|
||||
|
||||
func (s *agentInternalServer) DeregisterJobRequestTopic(topic string) {
|
||||
s.rpc.DeregisterHandler("JobRequest", []string{topic})
|
||||
func (s *agentInternalServer) DeregisterJobRequestTopic(namespace string, jobType string) {
|
||||
s.rpc.DeregisterHandler("JobRequest", []string{namespace, jobType})
|
||||
}
|
||||
|
||||
func (s *agentInternalServer) PublishAgentRegistered(ctx context.Context, projectId string, msg *CheckEnabledResponse) error {
|
||||
return s.rpc.Publish(ctx, "AgentRegistered", []string{projectId}, msg)
|
||||
func (s *agentInternalServer) PublishWorkerRegistered(ctx context.Context, handlerNamespace string, msg *google_protobuf.Empty) error {
|
||||
return s.rpc.Publish(ctx, "WorkerRegistered", []string{handlerNamespace}, msg)
|
||||
}
|
||||
|
||||
func (s *agentInternalServer) Shutdown() {
|
||||
@@ -154,26 +154,28 @@ func (s *agentInternalServer) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor0 = []byte{
|
||||
// 329 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x4f, 0x4f, 0xf2, 0x40,
|
||||
0x10, 0xc6, 0xb3, 0xbc, 0x6f, 0x08, 0x59, 0x4b, 0xc0, 0x45, 0x09, 0xd6, 0x8b, 0xf6, 0x44, 0xd4,
|
||||
0x6c, 0x8d, 0xde, 0x0d, 0x6a, 0x38, 0x48, 0xe2, 0x85, 0xa3, 0x17, 0x64, 0x97, 0xa1, 0xac, 0x94,
|
||||
0xce, 0xba, 0xbb, 0x25, 0xf1, 0xe6, 0x95, 0xaf, 0xc3, 0x27, 0x34, 0xfd, 0x63, 0x83, 0x09, 0x7a,
|
||||
0x6a, 0xfa, 0xcc, 0x6f, 0x76, 0x7e, 0x79, 0x68, 0xcb, 0x68, 0x19, 0x4e, 0x23, 0x48, 0x1c, 0xd7,
|
||||
0x06, 0x1d, 0xb2, 0x7f, 0x46, 0x4b, 0xff, 0x34, 0x42, 0x8c, 0x62, 0x08, 0xf3, 0x48, 0xa4, 0xf3,
|
||||
0x10, 0x56, 0xda, 0x7d, 0x14, 0x84, 0xdf, 0x44, 0xed, 0x14, 0x26, 0xb6, 0xfc, 0xed, 0xc4, 0x6a,
|
||||
0x0d, 0x4b, 0xe5, 0x26, 0x3b, 0xaf, 0x04, 0xc7, 0xb4, 0xf3, 0xb8, 0x00, 0xb9, 0x1c, 0x26, 0x53,
|
||||
0x11, 0xc3, 0x6c, 0x0c, 0xef, 0x29, 0x58, 0x17, 0xcc, 0xe9, 0xd1, 0xcf, 0xd8, 0x6a, 0x4c, 0x2c,
|
||||
0xb0, 0x73, 0xea, 0x19, 0xc4, 0xd5, 0x04, 0x8a, 0xbc, 0x47, 0xce, 0x48, 0xbf, 0x31, 0x3e, 0xc8,
|
||||
0xb2, 0x12, 0x65, 0x97, 0xf4, 0x50, 0xa7, 0x22, 0x56, 0x76, 0x01, 0xa6, 0xe2, 0x6a, 0x39, 0xd7,
|
||||
0xae, 0x06, 0x25, 0x7c, 0xf3, 0x59, 0xa3, 0xcd, 0xfb, 0x4c, 0xe7, 0x29, 0x71, 0x60, 0x92, 0x69,
|
||||
0xcc, 0x9e, 0xa9, 0xb7, 0x7b, 0x99, 0xf5, 0xb8, 0xd1, 0x92, 0xef, 0x71, 0xf4, 0x4f, 0xf6, 0x4c,
|
||||
0x0a, 0xcd, 0xa0, 0xb1, 0xdd, 0x90, 0xff, 0x83, 0x5a, 0x9f, 0xb0, 0x3b, 0x4a, 0x47, 0x28, 0xca,
|
||||
0x15, 0xe6, 0xf1, 0xb2, 0x03, 0x3e, 0x42, 0xe1, 0x77, 0x79, 0xd1, 0x1e, 0xff, 0x6e, 0x8f, 0x0f,
|
||||
0xb3, 0xf6, 0x02, 0xba, 0xdd, 0x90, 0x7a, 0x9b, 0x0c, 0xc8, 0x35, 0x61, 0xaf, 0xb4, 0x95, 0xfb,
|
||||
0x8d, 0x21, 0x52, 0xd6, 0x81, 0x81, 0x19, 0xfb, 0x65, 0xed, 0x2f, 0x1f, 0x7f, 0xbb, 0x21, 0xdd,
|
||||
0x06, 0x69, 0x13, 0xdf, 0x63, 0x54, 0x1b, 0x7c, 0x03, 0xe9, 0x26, 0x6a, 0x96, 0x19, 0x3e, 0x5c,
|
||||
0xbd, 0x5c, 0x44, 0xca, 0x2d, 0x52, 0xc1, 0x25, 0xae, 0xc2, 0xd2, 0xaf, 0xfa, 0xea, 0x65, 0x14,
|
||||
0x5a, 0x30, 0x6b, 0x25, 0x21, 0x34, 0x5a, 0x8a, 0x7a, 0x7e, 0xf4, 0xf6, 0x2b, 0x00, 0x00, 0xff,
|
||||
0xff, 0xd5, 0xcb, 0x7e, 0x13, 0x0f, 0x02, 0x00, 0x00,
|
||||
// 362 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6a, 0xdb, 0x30,
|
||||
0x14, 0x86, 0x51, 0x32, 0x86, 0xa3, 0x25, 0xcc, 0x51, 0x96, 0x91, 0x79, 0x6c, 0x4b, 0x7c, 0x15,
|
||||
0x18, 0xc8, 0x63, 0x7b, 0x81, 0x6c, 0x23, 0x17, 0x0d, 0xf4, 0xc6, 0x50, 0x0a, 0xbd, 0x31, 0x96,
|
||||
0x72, 0x6a, 0xbb, 0xb1, 0x25, 0x55, 0x92, 0x0b, 0x79, 0x81, 0x42, 0xde, 0xa1, 0x4f, 0x91, 0x27,
|
||||
0x2c, 0x8e, 0x1d, 0x93, 0x42, 0xda, 0xcb, 0xf3, 0x9f, 0x5f, 0xe7, 0x7c, 0xe7, 0x47, 0xf8, 0xa3,
|
||||
0x56, 0x3c, 0x88, 0x13, 0x10, 0x96, 0x2a, 0x2d, 0xad, 0x24, 0x5d, 0xad, 0xb8, 0xf7, 0x35, 0x91,
|
||||
0x32, 0xc9, 0x21, 0x38, 0x48, 0xac, 0xbc, 0x0d, 0xa0, 0x50, 0x76, 0x5b, 0x3b, 0xbc, 0x81, 0x54,
|
||||
0x36, 0x93, 0xc2, 0x34, 0xe5, 0x28, 0xcf, 0x1e, 0x60, 0x93, 0xd9, 0xe8, 0x64, 0x8a, 0x3f, 0xc6,
|
||||
0xa3, 0xff, 0x29, 0xf0, 0xcd, 0x52, 0xc4, 0x2c, 0x87, 0x75, 0x08, 0xf7, 0x25, 0x18, 0xeb, 0x3f,
|
||||
0x22, 0xfc, 0xe9, 0xa5, 0x6e, 0x94, 0x14, 0x06, 0xc8, 0x0c, 0xf7, 0xb5, 0x94, 0x45, 0x04, 0xb5,
|
||||
0x3e, 0x41, 0x53, 0x34, 0x77, 0xc2, 0x0f, 0x95, 0xd6, 0x58, 0xc9, 0x4f, 0x3c, 0x54, 0x25, 0xcb,
|
||||
0x33, 0x93, 0x82, 0x6e, 0x7d, 0x9d, 0x83, 0xcf, 0x6d, 0x1b, 0x47, 0xf3, 0x77, 0x8c, 0x45, 0x5c,
|
||||
0x80, 0x51, 0x31, 0x07, 0x33, 0xe9, 0x4e, 0xbb, 0xf3, 0x5e, 0x78, 0xa2, 0xfc, 0x7e, 0xea, 0xe0,
|
||||
0xc1, 0xdf, 0x8a, 0xf7, 0x42, 0x58, 0xd0, 0x22, 0xce, 0xc9, 0x25, 0xee, 0x9f, 0x92, 0x91, 0x09,
|
||||
0xd5, 0x8a, 0xd3, 0x33, 0x47, 0x78, 0x5f, 0xce, 0x74, 0xea, 0x33, 0x7c, 0x67, 0xbf, 0x43, 0xef,
|
||||
0x16, 0x9d, 0x39, 0x22, 0x57, 0x18, 0xaf, 0x24, 0x6b, 0x9e, 0x90, 0x3e, 0x6d, 0x42, 0xa2, 0x2b,
|
||||
0xc9, 0xbc, 0xcf, 0xb4, 0x8e, 0x97, 0x1e, 0xe3, 0xa5, 0xcb, 0x2a, 0x5e, 0x7f, 0xb6, 0xdf, 0xa1,
|
||||
0x6f, 0x2e, 0xf2, 0xc6, 0xa4, 0xd7, 0xa2, 0x12, 0xe7, 0x4e, 0xb2, 0xc8, 0x6e, 0x15, 0x2c, 0xd0,
|
||||
0x2f, 0x44, 0x00, 0xbb, 0xd7, 0x52, 0x6f, 0x40, 0x87, 0x90, 0x64, 0xc6, 0x82, 0x86, 0x35, 0x79,
|
||||
0x65, 0xdc, 0xdb, 0x6b, 0x1c, 0xe4, 0x22, 0x6f, 0x44, 0x86, 0x69, 0x2c, 0xd6, 0x39, 0xe8, 0xa8,
|
||||
0x5d, 0x58, 0xd1, 0xff, 0x9b, 0xdd, 0xfc, 0x48, 0x32, 0x9b, 0x96, 0x8c, 0x72, 0x59, 0x04, 0x0d,
|
||||
0x7b, 0xfd, 0x1b, 0xb8, 0xcc, 0x03, 0xad, 0x38, 0x7b, 0x7f, 0xa8, 0xfe, 0x3c, 0x07, 0x00, 0x00,
|
||||
0xff, 0xff, 0x0e, 0x5b, 0x92, 0xc6, 0x41, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
208
rpc/egress.pb.go
208
rpc/egress.pb.go
@@ -25,7 +25,6 @@ import (
|
||||
_ "github.com/livekit/psrpc/protoc-gen-psrpc/options"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
anypb "google.golang.org/protobuf/types/known/anypb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
@@ -58,8 +57,6 @@ type StartEgressRequest struct {
|
||||
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
|
||||
Token string `protobuf:"bytes,8,opt,name=token,proto3" json:"token,omitempty"`
|
||||
WsUrl string `protobuf:"bytes,9,opt,name=ws_url,json=wsUrl,proto3" json:"ws_url,omitempty"`
|
||||
// metadata
|
||||
Metadata map[string]*anypb.Any `protobuf:"bytes,12,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *StartEgressRequest) Reset() {
|
||||
@@ -164,13 +161,6 @@ func (x *StartEgressRequest) GetWsUrl() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *StartEgressRequest) GetMetadata() map[string]*anypb.Any {
|
||||
if x != nil {
|
||||
return x.Metadata
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type isStartEgressRequest_Request interface {
|
||||
isStartEgressRequest_Request()
|
||||
}
|
||||
@@ -294,80 +284,68 @@ var File_rpc_egress_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_rpc_egress_proto_rawDesc = []byte{
|
||||
0x0a, 0x10, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x12, 0x03, 0x72, 0x70, 0x63, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x1a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x04, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72,
|
||||
0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b,
|
||||
0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0e, 0x72,
|
||||
0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f,
|
||||
0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x6d,
|
||||
0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x77, 0x65, 0x62,
|
||||
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x57, 0x65, 0x62, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x48, 0x00, 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
|
||||
0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12,
|
||||
0x4f, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69,
|
||||
0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74,
|
||||
0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
|
||||
0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65,
|
||||
0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05,
|
||||
0x74, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x77, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x08, 0x6d,
|
||||
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x51,
|
||||
0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
||||
0x01, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41,
|
||||
0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
|
||||
0x64, 0x73, 0x32, 0xb2, 0x01, 0x0a, 0x0e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74,
|
||||
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74,
|
||||
0x74, 0x6f, 0x12, 0x03, 0x72, 0x70, 0x63, 0x1a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f,
|
||||
0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x03, 0x0a,
|
||||
0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64,
|
||||
0x12, 0x4c, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69,
|
||||
0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65,
|
||||
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
|
||||
0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x12, 0x2d,
|
||||
0x0a, 0x03, 0x77, 0x65, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x69,
|
||||
0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x45, 0x0a,
|
||||
0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72,
|
||||
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f,
|
||||
0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d,
|
||||
0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70,
|
||||
0x6f, 0x73, 0x69, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54,
|
||||
0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x48, 0x00, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f,
|
||||
0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
|
||||
0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x77, 0x73, 0x5f,
|
||||
0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x73, 0x55, 0x72, 0x6c,
|
||||
0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63,
|
||||
0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64,
|
||||
0x73, 0x32, 0xb2, 0x01, 0x0a, 0x0e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65,
|
||||
0x72, 0x6e, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x12, 0x17, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c,
|
||||
0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x22, 0x08, 0xb2, 0x89, 0x01, 0x04, 0x10, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x10, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x1c, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0xb2, 0x89,
|
||||
0x01, 0x04, 0x10, 0x01, 0x28, 0x01, 0x32, 0xa1, 0x01, 0x0a, 0x0d, 0x45, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
|
||||
0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
|
||||
0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x06, 0xb2, 0x89, 0x01,
|
||||
0x02, 0x10, 0x01, 0x12, 0x45, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70,
|
||||
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
|
||||
0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x22, 0x08, 0xb2, 0x89, 0x01, 0x04, 0x10, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x10,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x12, 0x1c, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76,
|
||||
0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
|
||||
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0xb2,
|
||||
0x89, 0x01, 0x04, 0x10, 0x01, 0x28, 0x01, 0x32, 0xa1, 0x01, 0x0a, 0x0d, 0x45, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
|
||||
0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x06, 0xb2, 0x89,
|
||||
0x01, 0x02, 0x10, 0x01, 0x12, 0x45, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f,
|
||||
0x70, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
|
||||
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x22, 0x06, 0xb2, 0x89, 0x01, 0x02, 0x10, 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,
|
||||
0x66, 0x6f, 0x22, 0x06, 0xb2, 0x89, 0x01, 0x02, 0x10, 0x01, 0x42, 0x21, 0x5a, 0x1f, 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, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -382,43 +360,39 @@ func file_rpc_egress_proto_rawDescGZIP() []byte {
|
||||
return file_rpc_egress_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_rpc_egress_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_rpc_egress_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||
var file_rpc_egress_proto_goTypes = []interface{}{
|
||||
(*StartEgressRequest)(nil), // 0: rpc.StartEgressRequest
|
||||
(*ListActiveEgressRequest)(nil), // 1: rpc.ListActiveEgressRequest
|
||||
(*ListActiveEgressResponse)(nil), // 2: rpc.ListActiveEgressResponse
|
||||
nil, // 3: rpc.StartEgressRequest.MetadataEntry
|
||||
(*livekit.RoomCompositeEgressRequest)(nil), // 4: livekit.RoomCompositeEgressRequest
|
||||
(*livekit.WebEgressRequest)(nil), // 5: livekit.WebEgressRequest
|
||||
(*livekit.ParticipantEgressRequest)(nil), // 6: livekit.ParticipantEgressRequest
|
||||
(*livekit.TrackCompositeEgressRequest)(nil), // 7: livekit.TrackCompositeEgressRequest
|
||||
(*livekit.TrackEgressRequest)(nil), // 8: livekit.TrackEgressRequest
|
||||
(*anypb.Any)(nil), // 9: google.protobuf.Any
|
||||
(*livekit.UpdateStreamRequest)(nil), // 10: livekit.UpdateStreamRequest
|
||||
(*livekit.StopEgressRequest)(nil), // 11: livekit.StopEgressRequest
|
||||
(*livekit.EgressInfo)(nil), // 12: livekit.EgressInfo
|
||||
(*StartEgressRequest)(nil), // 0: rpc.StartEgressRequest
|
||||
(*ListActiveEgressRequest)(nil), // 1: rpc.ListActiveEgressRequest
|
||||
(*ListActiveEgressResponse)(nil), // 2: rpc.ListActiveEgressResponse
|
||||
(*livekit.RoomCompositeEgressRequest)(nil), // 3: livekit.RoomCompositeEgressRequest
|
||||
(*livekit.WebEgressRequest)(nil), // 4: livekit.WebEgressRequest
|
||||
(*livekit.ParticipantEgressRequest)(nil), // 5: livekit.ParticipantEgressRequest
|
||||
(*livekit.TrackCompositeEgressRequest)(nil), // 6: livekit.TrackCompositeEgressRequest
|
||||
(*livekit.TrackEgressRequest)(nil), // 7: livekit.TrackEgressRequest
|
||||
(*livekit.UpdateStreamRequest)(nil), // 8: livekit.UpdateStreamRequest
|
||||
(*livekit.StopEgressRequest)(nil), // 9: livekit.StopEgressRequest
|
||||
(*livekit.EgressInfo)(nil), // 10: livekit.EgressInfo
|
||||
}
|
||||
var file_rpc_egress_proto_depIdxs = []int32{
|
||||
4, // 0: rpc.StartEgressRequest.room_composite:type_name -> livekit.RoomCompositeEgressRequest
|
||||
5, // 1: rpc.StartEgressRequest.web:type_name -> livekit.WebEgressRequest
|
||||
6, // 2: rpc.StartEgressRequest.participant:type_name -> livekit.ParticipantEgressRequest
|
||||
7, // 3: rpc.StartEgressRequest.track_composite:type_name -> livekit.TrackCompositeEgressRequest
|
||||
8, // 4: rpc.StartEgressRequest.track:type_name -> livekit.TrackEgressRequest
|
||||
3, // 5: rpc.StartEgressRequest.metadata:type_name -> rpc.StartEgressRequest.MetadataEntry
|
||||
9, // 6: rpc.StartEgressRequest.MetadataEntry.value:type_name -> google.protobuf.Any
|
||||
0, // 7: rpc.EgressInternal.StartEgress:input_type -> rpc.StartEgressRequest
|
||||
1, // 8: rpc.EgressInternal.ListActiveEgress:input_type -> rpc.ListActiveEgressRequest
|
||||
10, // 9: rpc.EgressHandler.UpdateStream:input_type -> livekit.UpdateStreamRequest
|
||||
11, // 10: rpc.EgressHandler.StopEgress:input_type -> livekit.StopEgressRequest
|
||||
12, // 11: rpc.EgressInternal.StartEgress:output_type -> livekit.EgressInfo
|
||||
2, // 12: rpc.EgressInternal.ListActiveEgress:output_type -> rpc.ListActiveEgressResponse
|
||||
12, // 13: rpc.EgressHandler.UpdateStream:output_type -> livekit.EgressInfo
|
||||
12, // 14: rpc.EgressHandler.StopEgress:output_type -> livekit.EgressInfo
|
||||
11, // [11:15] is the sub-list for method output_type
|
||||
7, // [7:11] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
3, // 0: rpc.StartEgressRequest.room_composite:type_name -> livekit.RoomCompositeEgressRequest
|
||||
4, // 1: rpc.StartEgressRequest.web:type_name -> livekit.WebEgressRequest
|
||||
5, // 2: rpc.StartEgressRequest.participant:type_name -> livekit.ParticipantEgressRequest
|
||||
6, // 3: rpc.StartEgressRequest.track_composite:type_name -> livekit.TrackCompositeEgressRequest
|
||||
7, // 4: rpc.StartEgressRequest.track:type_name -> livekit.TrackEgressRequest
|
||||
0, // 5: rpc.EgressInternal.StartEgress:input_type -> rpc.StartEgressRequest
|
||||
1, // 6: rpc.EgressInternal.ListActiveEgress:input_type -> rpc.ListActiveEgressRequest
|
||||
8, // 7: rpc.EgressHandler.UpdateStream:input_type -> livekit.UpdateStreamRequest
|
||||
9, // 8: rpc.EgressHandler.StopEgress:input_type -> livekit.StopEgressRequest
|
||||
10, // 9: rpc.EgressInternal.StartEgress:output_type -> livekit.EgressInfo
|
||||
2, // 10: rpc.EgressInternal.ListActiveEgress:output_type -> rpc.ListActiveEgressResponse
|
||||
10, // 11: rpc.EgressHandler.UpdateStream:output_type -> livekit.EgressInfo
|
||||
10, // 12: rpc.EgressHandler.StopEgress:output_type -> livekit.EgressInfo
|
||||
9, // [9:13] is the sub-list for method output_type
|
||||
5, // [5:9] is the sub-list for method input_type
|
||||
5, // [5:5] is the sub-list for extension type_name
|
||||
5, // [5:5] is the sub-list for extension extendee
|
||||
0, // [0:5] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_rpc_egress_proto_init() }
|
||||
@@ -477,7 +451,7 @@ func file_rpc_egress_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_rpc_egress_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumMessages: 3,
|
||||
NumExtensions: 0,
|
||||
NumServices: 2,
|
||||
},
|
||||
|
||||
@@ -267,42 +267,36 @@ func (s *egressHandlerServer) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor1 = []byte{
|
||||
// 584 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0xdd, 0x6e, 0x12, 0x41,
|
||||
0x14, 0x76, 0x40, 0x68, 0x39, 0x94, 0x4a, 0xc6, 0x9a, 0x4e, 0xb7, 0x6d, 0x82, 0xa8, 0x09, 0x69,
|
||||
0x74, 0x31, 0xf4, 0x46, 0xbd, 0xb2, 0x35, 0xc4, 0x92, 0xd4, 0xa8, 0x5b, 0x1b, 0x13, 0xbd, 0x20,
|
||||
0xc3, 0xee, 0x14, 0x27, 0x2c, 0x3b, 0xe3, 0xcc, 0x00, 0xe1, 0x11, 0xfa, 0x18, 0xbe, 0x42, 0x2f,
|
||||
0x7c, 0x20, 0x9f, 0xc4, 0x30, 0x03, 0xdb, 0x85, 0x06, 0xe3, 0xd5, 0xee, 0x7c, 0x7f, 0x73, 0xce,
|
||||
0x99, 0x03, 0x55, 0x25, 0xc3, 0x26, 0xeb, 0x2b, 0xa6, 0xb5, 0x2f, 0x95, 0x30, 0x02, 0xe7, 0x95,
|
||||
0x0c, 0xbd, 0xbd, 0xbe, 0x10, 0xfd, 0x98, 0x35, 0x2d, 0xd4, 0x1b, 0x5d, 0x35, 0x69, 0x32, 0x75,
|
||||
0xbc, 0x57, 0x11, 0xd2, 0x70, 0x91, 0xcc, 0xe5, 0xde, 0x4e, 0xcc, 0xc7, 0x6c, 0xc0, 0x4d, 0x37,
|
||||
0x1b, 0x52, 0xff, 0x73, 0x1f, 0xf0, 0x85, 0xa1, 0xca, 0xb4, 0x2d, 0x1a, 0xb0, 0x9f, 0x23, 0xa6,
|
||||
0x0d, 0xde, 0x87, 0x92, 0x93, 0x75, 0x79, 0x44, 0x50, 0x0d, 0x35, 0x4a, 0xc1, 0xa6, 0x03, 0x3a,
|
||||
0x11, 0x3e, 0x87, 0x6d, 0x25, 0xc4, 0xb0, 0x1b, 0x8a, 0xa1, 0x14, 0x9a, 0x1b, 0x46, 0x0a, 0x35,
|
||||
0xd4, 0x28, 0xb7, 0x9e, 0xf8, 0xf3, 0x2b, 0xfc, 0x40, 0x88, 0xe1, 0xbb, 0x05, 0xbb, 0x94, 0x7c,
|
||||
0x76, 0x2f, 0xa8, 0xa8, 0x2c, 0x8b, 0x5f, 0x40, 0x7e, 0xc2, 0x7a, 0xa4, 0x6c, 0x23, 0xf6, 0xd2,
|
||||
0x88, 0xaf, 0xac, 0xb7, 0x6a, 0x9c, 0xe9, 0x70, 0x1b, 0xca, 0x92, 0x2a, 0xc3, 0x43, 0x2e, 0x69,
|
||||
0x62, 0x48, 0xc5, 0xda, 0x1e, 0xa7, 0xb6, 0x4f, 0xb7, 0xdc, 0xaa, 0x3d, 0xeb, 0xc3, 0x1f, 0xe1,
|
||||
0x81, 0x51, 0x34, 0x1c, 0x64, 0x9a, 0x28, 0xda, 0xa8, 0xa7, 0x69, 0xd4, 0x97, 0x19, 0xbf, 0xb6,
|
||||
0x8b, 0x6d, 0xb3, 0x44, 0xe3, 0x63, 0x28, 0x58, 0x84, 0x6c, 0xd8, 0x98, 0xfd, 0xe5, 0x98, 0x55,
|
||||
0xb7, 0xd3, 0xe2, 0x5d, 0xd8, 0xb0, 0x93, 0xe4, 0x11, 0xc9, 0xdb, 0x21, 0x17, 0x67, 0xc7, 0x4e,
|
||||
0x84, 0x77, 0xa0, 0x60, 0xc4, 0x80, 0x25, 0x64, 0xd3, 0xc2, 0xee, 0x80, 0x1f, 0x41, 0x71, 0xa2,
|
||||
0xbb, 0x23, 0x15, 0x93, 0x92, 0x83, 0x27, 0xfa, 0x52, 0xc5, 0xf8, 0x04, 0x36, 0x87, 0xcc, 0xd0,
|
||||
0x88, 0x1a, 0x4a, 0xb6, 0x6a, 0xf9, 0x46, 0xb9, 0xf5, 0xcc, 0x57, 0x32, 0xf4, 0xef, 0xbe, 0xab,
|
||||
0xff, 0x61, 0xae, 0x6b, 0x27, 0x46, 0x4d, 0x83, 0xd4, 0xe6, 0x7d, 0x86, 0xca, 0x12, 0x85, 0xab,
|
||||
0x90, 0x1f, 0xb0, 0xe9, 0xfc, 0xe9, 0x67, 0xbf, 0xf8, 0x08, 0x0a, 0x63, 0x1a, 0x8f, 0x18, 0xc9,
|
||||
0xd9, 0x06, 0x77, 0x7c, 0xb7, 0x79, 0xfe, 0x62, 0xf3, 0xfc, 0x93, 0x64, 0x1a, 0x38, 0xc9, 0x9b,
|
||||
0xdc, 0x2b, 0x74, 0x5a, 0x82, 0x0d, 0xe5, 0x6e, 0xad, 0xef, 0xc1, 0xee, 0x39, 0xd7, 0xe6, 0x24,
|
||||
0x34, 0x7c, 0xbc, 0x3c, 0xc8, 0xfa, 0x6b, 0x20, 0x77, 0x29, 0x2d, 0x45, 0xa2, 0x19, 0x3e, 0x04,
|
||||
0x48, 0x97, 0x50, 0x13, 0x54, 0xcb, 0x37, 0x4a, 0x41, 0x69, 0xb1, 0x85, 0xba, 0xf5, 0x1b, 0xc1,
|
||||
0xb6, 0x73, 0x74, 0x12, 0xc3, 0x54, 0x42, 0x63, 0xfc, 0x1e, 0xca, 0x99, 0xa6, 0xf1, 0xee, 0x9a,
|
||||
0x31, 0x78, 0x0f, 0xd3, 0xd7, 0x59, 0x04, 0x5c, 0x89, 0x3a, 0xdc, 0x5c, 0xa3, 0x62, 0x15, 0xbd,
|
||||
0x45, 0x2f, 0x11, 0xfe, 0x0e, 0xd5, 0xd5, 0xb2, 0xf0, 0x81, 0x4d, 0x5b, 0xd3, 0x88, 0x77, 0xb8,
|
||||
0x86, 0x75, 0xbd, 0xa4, 0xe1, 0xb9, 0x06, 0x6a, 0xfd, 0x42, 0x50, 0x71, 0xf4, 0x19, 0x4d, 0xa2,
|
||||
0x98, 0x29, 0xdc, 0x81, 0xad, 0x4b, 0x19, 0x51, 0xc3, 0x2e, 0x8c, 0x62, 0x74, 0x88, 0x0f, 0xd2,
|
||||
0xfa, 0xb2, 0xf0, 0x3f, 0xab, 0x2f, 0xde, 0x5c, 0xa3, 0x5c, 0x15, 0xe1, 0x36, 0xc0, 0x85, 0x11,
|
||||
0x72, 0x5e, 0xb3, 0x97, 0x4a, 0x6f, 0xc1, 0xff, 0x89, 0x39, 0x7d, 0xfe, 0xed, 0xa8, 0xcf, 0xcd,
|
||||
0x8f, 0x51, 0xcf, 0x0f, 0xc5, 0xb0, 0x39, 0x17, 0xa6, 0x5f, 0x39, 0xe8, 0x37, 0x35, 0x53, 0x63,
|
||||
0x1e, 0xb2, 0xa6, 0x92, 0x61, 0xaf, 0x68, 0x97, 0xe0, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
|
||||
0x95, 0xb8, 0x97, 0x1a, 0xa5, 0x04, 0x00, 0x00,
|
||||
// 491 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xd1, 0x6e, 0x12, 0x41,
|
||||
0x14, 0x86, 0x9d, 0x12, 0x96, 0xee, 0x41, 0x90, 0x8c, 0x35, 0x4c, 0x69, 0x1b, 0x29, 0x7a, 0xc1,
|
||||
0x8d, 0x8b, 0xa1, 0x57, 0xde, 0x69, 0x0d, 0xb1, 0x24, 0x4d, 0x34, 0x60, 0x63, 0xa2, 0x17, 0x64,
|
||||
0x99, 0x1d, 0xeb, 0x84, 0xdd, 0x9d, 0x71, 0xe6, 0x50, 0x9e, 0xa1, 0x8f, 0xe1, 0x2b, 0xf4, 0xc2,
|
||||
0xa7, 0xf0, 0xa1, 0x0c, 0xb3, 0xb0, 0x5d, 0x68, 0x30, 0x5e, 0xce, 0xff, 0x9f, 0xff, 0xdb, 0x73,
|
||||
0xce, 0xcc, 0x42, 0xc3, 0x68, 0xde, 0x13, 0xd7, 0x46, 0x58, 0x1b, 0x68, 0xa3, 0x50, 0xd1, 0x92,
|
||||
0xd1, 0xbc, 0x55, 0x53, 0x1a, 0xa5, 0x4a, 0x57, 0x5a, 0xeb, 0x20, 0x96, 0x37, 0x62, 0x26, 0x71,
|
||||
0x52, 0xac, 0xec, 0xfc, 0x29, 0x01, 0x1d, 0x63, 0x68, 0x70, 0xe0, 0xd4, 0x91, 0xf8, 0x39, 0x17,
|
||||
0x16, 0xe9, 0x11, 0xf8, 0x59, 0xd9, 0x44, 0x46, 0x8c, 0xb4, 0x49, 0xd7, 0x1f, 0xed, 0x67, 0xc2,
|
||||
0x30, 0xa2, 0x97, 0x50, 0x37, 0x4a, 0x25, 0x13, 0xae, 0x12, 0xad, 0xac, 0x44, 0xc1, 0xca, 0x6d,
|
||||
0xd2, 0xad, 0xf6, 0x5f, 0x04, 0xab, 0x4f, 0x04, 0x23, 0xa5, 0x92, 0xf7, 0x6b, 0x77, 0x83, 0x7c,
|
||||
0xf1, 0x68, 0x54, 0x33, 0x45, 0x97, 0xbe, 0x82, 0xd2, 0x42, 0x4c, 0x59, 0xd5, 0x21, 0x0e, 0x73,
|
||||
0xc4, 0x17, 0x31, 0xdd, 0x0e, 0x2e, 0xeb, 0xe8, 0x00, 0xaa, 0x3a, 0x34, 0x28, 0xb9, 0xd4, 0x61,
|
||||
0x8a, 0xac, 0xe6, 0x62, 0xa7, 0x79, 0xec, 0xd3, 0xbd, 0xb7, 0x1d, 0x2f, 0xe6, 0xe8, 0x47, 0x78,
|
||||
0x82, 0x26, 0xe4, 0xb3, 0xc2, 0x10, 0x9e, 0x43, 0xbd, 0xcc, 0x51, 0x9f, 0x97, 0xfe, 0xce, 0x29,
|
||||
0xea, 0xb8, 0x61, 0xd3, 0x33, 0x28, 0x3b, 0x85, 0x55, 0x1c, 0xe6, 0x68, 0x13, 0xb3, 0x9d, 0xce,
|
||||
0x6a, 0x69, 0x13, 0x2a, 0x6e, 0x93, 0x32, 0x62, 0x25, 0xb7, 0x64, 0x6f, 0x79, 0x1c, 0x46, 0xf4,
|
||||
0x00, 0xca, 0xa8, 0x66, 0x22, 0x65, 0xfb, 0x4e, 0xce, 0x0e, 0xf4, 0x19, 0x78, 0x0b, 0x3b, 0x99,
|
||||
0x9b, 0x98, 0xf9, 0x99, 0xbc, 0xb0, 0x57, 0x26, 0x3e, 0xf7, 0xa1, 0x62, 0x32, 0x72, 0xe7, 0x10,
|
||||
0x9a, 0x97, 0xd2, 0xe2, 0x3b, 0x8e, 0xf2, 0x66, 0xb3, 0xe5, 0xce, 0x1b, 0x60, 0x0f, 0x2d, 0xab,
|
||||
0x55, 0x6a, 0x05, 0x3d, 0x01, 0xc8, 0xaf, 0xdb, 0x32, 0xd2, 0x2e, 0x75, 0xfd, 0x91, 0xbf, 0xbe,
|
||||
0x6f, 0xdb, 0xff, 0x4d, 0xa0, 0x9e, 0x25, 0x86, 0x29, 0x0a, 0x93, 0x86, 0x31, 0xfd, 0x00, 0xd5,
|
||||
0xc2, 0xb3, 0xa1, 0xcd, 0xc0, 0x68, 0x1e, 0x3c, 0x7c, 0x48, 0xad, 0xa7, 0xf9, 0x1e, 0xd6, 0x80,
|
||||
0xef, 0xaa, 0x03, 0x77, 0xb7, 0xc4, 0x6b, 0x90, 0xb7, 0xe4, 0x35, 0xa1, 0xdf, 0xa0, 0xb1, 0xdd,
|
||||
0x16, 0x3d, 0x76, 0xb4, 0x1d, 0x83, 0xb4, 0x4e, 0x76, 0xb8, 0xd9, 0x2c, 0x39, 0x7c, 0xaf, 0x4b,
|
||||
0xfa, 0xbf, 0x08, 0xd4, 0x32, 0xfb, 0x22, 0x4c, 0xa3, 0x58, 0x18, 0x3a, 0x84, 0xc7, 0x57, 0x3a,
|
||||
0x0a, 0x51, 0x8c, 0xd1, 0x88, 0x30, 0xa1, 0xc7, 0x79, 0x7f, 0x45, 0xf9, 0x9f, 0xdd, 0x7b, 0x77,
|
||||
0xb7, 0x64, 0xaf, 0x41, 0xe8, 0x00, 0x60, 0x8c, 0x4a, 0xaf, 0x7a, 0x6e, 0xe5, 0xa5, 0xf7, 0xe2,
|
||||
0xff, 0x60, 0xce, 0x4f, 0xbf, 0x3e, 0xbf, 0x96, 0xf8, 0x63, 0x3e, 0x0d, 0xb8, 0x4a, 0x7a, 0xab,
|
||||
0xc2, 0x9e, 0xfb, 0x3b, 0xb9, 0x8a, 0x7b, 0x46, 0xf3, 0xa9, 0xe7, 0x4e, 0x67, 0x7f, 0x03, 0x00,
|
||||
0x00, 0xff, 0xff, 0x47, 0x4e, 0x8e, 0x31, 0xe9, 0x03, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ func NewEgressClient(params ClientParams) (EgressClient, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
opts := clientOptions(params)
|
||||
opts := params.Options()
|
||||
timeout := params.Timeout
|
||||
if timeout < 10*time.Second {
|
||||
timeout = 10 * time.Second
|
||||
|
||||
@@ -312,10 +312,10 @@ var file_rpc_ingress_proto_rawDesc = []byte{
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x48, 0x49, 0x50, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x06, 0xb2, 0x89, 0x01, 0x02, 0x10, 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,
|
||||
0x22, 0x06, 0xb2, 0x89, 0x01, 0x02, 0x10, 0x01, 0x42, 0x21, 0x5a, 0x1f, 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, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -285,38 +285,38 @@ func (s *ingressHandlerServer) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor2 = []byte{
|
||||
// 524 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xd1, 0x8b, 0xd3, 0x4e,
|
||||
0x10, 0x66, 0xd3, 0xfb, 0x95, 0xdf, 0xcd, 0xd9, 0xb3, 0xb7, 0x5e, 0x25, 0x17, 0x39, 0x2d, 0x79,
|
||||
0x2a, 0x2a, 0x89, 0xd4, 0x17, 0x11, 0x1f, 0xaa, 0x78, 0xd2, 0xe2, 0x09, 0x92, 0xf3, 0x10, 0x14,
|
||||
0x0c, 0x69, 0x32, 0x8d, 0x4b, 0xd3, 0x6c, 0xdc, 0xdd, 0xf4, 0xe8, 0xab, 0xf8, 0xd2, 0x7f, 0xa7,
|
||||
0xaf, 0xfe, 0x73, 0x92, 0x6c, 0x72, 0xb4, 0xb6, 0x05, 0x9f, 0xda, 0xfd, 0xe6, 0x9b, 0x6f, 0xbe,
|
||||
0x99, 0xcc, 0xc0, 0x89, 0xc8, 0x42, 0x97, 0xa5, 0xb1, 0x40, 0x29, 0x9d, 0x4c, 0x70, 0xc5, 0x69,
|
||||
0x43, 0x64, 0xa1, 0xd5, 0xe2, 0x99, 0x62, 0x3c, 0xad, 0x30, 0xab, 0x93, 0xb0, 0x39, 0x4e, 0x99,
|
||||
0xf2, 0x37, 0xa8, 0xd6, 0x83, 0x98, 0xf3, 0x38, 0x41, 0xb7, 0x7c, 0x8d, 0xf3, 0x89, 0x8b, 0xb3,
|
||||
0x4c, 0x2d, 0x74, 0xd0, 0xb6, 0xc0, 0xbc, 0x64, 0x52, 0xbd, 0x0e, 0x15, 0x9b, 0xe3, 0x48, 0xe7,
|
||||
0x79, 0xf8, 0x23, 0x47, 0xa9, 0xec, 0x57, 0x70, 0xb6, 0x23, 0x26, 0x33, 0x9e, 0x4a, 0xa4, 0x8f,
|
||||
0xe0, 0xa8, 0x2a, 0xe3, 0xb3, 0x48, 0x9a, 0xa4, 0xdb, 0xe8, 0x1d, 0x7a, 0x50, 0x41, 0xa3, 0x48,
|
||||
0xda, 0x5f, 0xe1, 0xec, 0x2d, 0x26, 0xa8, 0xf0, 0xf3, 0x70, 0xf4, 0xd1, 0x43, 0xc9, 0x73, 0x11,
|
||||
0x62, 0x25, 0x5d, 0x64, 0x8b, 0x0a, 0xf2, 0x59, 0x64, 0x92, 0x2e, 0x29, 0xb2, 0x6b, 0x68, 0x14,
|
||||
0xd1, 0x73, 0x00, 0xa9, 0x04, 0x06, 0x33, 0x7f, 0x8a, 0x0b, 0xd3, 0x28, 0xe3, 0x87, 0x1a, 0x79,
|
||||
0x8f, 0x0b, 0xfb, 0xa7, 0x01, 0xf7, 0xae, 0x54, 0x20, 0xd4, 0xa6, 0x65, 0xda, 0x83, 0x03, 0x96,
|
||||
0x4e, 0x78, 0x29, 0x78, 0xd4, 0x3f, 0x75, 0xaa, 0x89, 0x38, 0x15, 0x6d, 0x94, 0x4e, 0xb8, 0x57,
|
||||
0x32, 0xe8, 0x29, 0xfc, 0xa7, 0xf8, 0x14, 0xd3, 0x4a, 0x5b, 0x3f, 0x68, 0x07, 0x9a, 0x37, 0xd2,
|
||||
0xcf, 0x45, 0x62, 0x36, 0x34, 0x7c, 0x23, 0xaf, 0x45, 0x42, 0x3d, 0x38, 0x4e, 0x78, 0x1c, 0xb3,
|
||||
0x34, 0xf6, 0x27, 0x0c, 0x93, 0x48, 0x9a, 0x07, 0xdd, 0x46, 0xef, 0xa8, 0xff, 0xc4, 0x11, 0x59,
|
||||
0xe8, 0xec, 0x30, 0xe2, 0x5c, 0x6a, 0xfa, 0xbb, 0x92, 0x7d, 0x91, 0x2a, 0xb1, 0xf0, 0x5a, 0xc9,
|
||||
0x3a, 0x66, 0x0d, 0x80, 0x6e, 0x93, 0x68, 0x1b, 0x1a, 0x45, 0xc3, 0x7a, 0x20, 0xc5, 0xdf, 0xc2,
|
||||
0xe8, 0x3c, 0x48, 0x72, 0xac, 0x8d, 0x96, 0x8f, 0x97, 0xc6, 0x0b, 0xd2, 0xff, 0x4d, 0xe0, 0xee,
|
||||
0x6d, 0x63, 0x0a, 0x45, 0x1a, 0x24, 0x74, 0x08, 0x77, 0xd6, 0xed, 0x50, 0x73, 0x9f, 0x43, 0x6b,
|
||||
0xe7, 0x70, 0xec, 0xff, 0x57, 0x4b, 0x72, 0x30, 0x20, 0xcf, 0x08, 0xfd, 0x06, 0x27, 0x5b, 0x5f,
|
||||
0x9f, 0x9e, 0x97, 0x72, 0xfb, 0x36, 0xc6, 0x7a, 0xb8, 0x2f, 0xac, 0x97, 0xc6, 0x86, 0xd5, 0x92,
|
||||
0x34, 0xdb, 0x64, 0x60, 0xf4, 0x48, 0xff, 0x97, 0x01, 0xc7, 0x55, 0x7c, 0x18, 0xa4, 0x51, 0x82,
|
||||
0x82, 0x7e, 0x80, 0xd6, 0x75, 0x16, 0x05, 0x6a, 0xad, 0x5c, 0xed, 0x71, 0x03, 0xaf, 0xcb, 0x75,
|
||||
0xfe, 0x6e, 0xe1, 0x4a, 0x05, 0x0a, 0xed, 0xe6, 0x6a, 0x49, 0x8c, 0x36, 0x29, 0xe4, 0xf4, 0x06,
|
||||
0x6e, 0xcb, 0x6d, 0xe0, 0xff, 0x28, 0xf7, 0x09, 0xe8, 0xf6, 0x42, 0x53, 0xdd, 0xf2, 0xde, 0x4d,
|
||||
0xb7, 0xee, 0x3b, 0xfa, 0xfc, 0x9c, 0xfa, 0xfc, 0x9c, 0x8b, 0xe2, 0xfc, 0x6a, 0xd5, 0x37, 0x4f,
|
||||
0xbf, 0x3c, 0x8e, 0x99, 0xfa, 0x9e, 0x8f, 0x9d, 0x90, 0xcf, 0xdc, 0xca, 0xc0, 0xed, 0x6f, 0x36,
|
||||
0x8d, 0x5d, 0x89, 0x62, 0xce, 0x42, 0x74, 0x45, 0x16, 0x8e, 0x9b, 0xa5, 0xca, 0xf3, 0x3f, 0x01,
|
||||
0x00, 0x00, 0xff, 0xff, 0x92, 0x24, 0x86, 0x55, 0x12, 0x04, 0x00, 0x00,
|
||||
// 516 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x51, 0x8b, 0xd3, 0x40,
|
||||
0x10, 0x66, 0xd3, 0xb3, 0x78, 0x73, 0xde, 0x79, 0xb7, 0x5e, 0x25, 0x17, 0x39, 0xaf, 0xe6, 0xa9,
|
||||
0x20, 0xa4, 0x52, 0x5f, 0x44, 0x7c, 0xa8, 0xe2, 0x49, 0x8b, 0x27, 0x48, 0xce, 0x43, 0x50, 0x30,
|
||||
0xa4, 0xc9, 0x34, 0x2e, 0xdd, 0x66, 0xe3, 0xee, 0xa6, 0x47, 0x5f, 0xc5, 0x97, 0xfe, 0x9d, 0xbe,
|
||||
0xfa, 0xe7, 0x24, 0xd9, 0x44, 0x5a, 0xdb, 0x82, 0x6f, 0x99, 0x6f, 0xbe, 0xfd, 0xe6, 0x9b, 0xc9,
|
||||
0x0c, 0x9c, 0xc8, 0x2c, 0xea, 0xb2, 0x34, 0x91, 0xa8, 0x94, 0x97, 0x49, 0xa1, 0x05, 0x6d, 0xc8,
|
||||
0x2c, 0x72, 0x0e, 0x45, 0xa6, 0x99, 0x48, 0x2b, 0xcc, 0x69, 0x71, 0x36, 0xc3, 0x09, 0xd3, 0xc1,
|
||||
0x1a, 0xd5, 0x79, 0x94, 0x08, 0x91, 0x70, 0xec, 0x96, 0xd1, 0x28, 0x1f, 0x77, 0x71, 0x9a, 0xe9,
|
||||
0xb9, 0x49, 0xba, 0x0e, 0xd8, 0x57, 0x4c, 0xe9, 0xd7, 0x91, 0x66, 0x33, 0x1c, 0x9a, 0x77, 0x3e,
|
||||
0xfe, 0xc8, 0x51, 0x69, 0xf7, 0x15, 0x9c, 0x6d, 0xc9, 0xa9, 0x4c, 0xa4, 0x0a, 0xe9, 0x05, 0x1c,
|
||||
0x54, 0x65, 0x02, 0x16, 0x2b, 0x9b, 0xb4, 0x1b, 0x9d, 0x7d, 0x1f, 0x2a, 0x68, 0x18, 0x2b, 0xf7,
|
||||
0x2b, 0x9c, 0xbd, 0x45, 0x8e, 0x1a, 0x3f, 0x0f, 0x86, 0x1f, 0x7d, 0x54, 0x22, 0x97, 0x11, 0x56,
|
||||
0xd2, 0xc5, 0x6b, 0x59, 0x41, 0x01, 0x8b, 0x6d, 0xd2, 0x26, 0xc5, 0xeb, 0x1a, 0x1a, 0xc6, 0xf4,
|
||||
0x1c, 0x40, 0x69, 0x89, 0xe1, 0x34, 0x98, 0xe0, 0xdc, 0xb6, 0xca, 0xfc, 0xbe, 0x41, 0xde, 0xe3,
|
||||
0xdc, 0xfd, 0x69, 0xc1, 0x83, 0x6b, 0x1d, 0x4a, 0xbd, 0x6e, 0x99, 0x76, 0x60, 0x8f, 0xa5, 0x63,
|
||||
0x51, 0x0a, 0x1e, 0xf4, 0x4e, 0xbd, 0x6a, 0x22, 0x5e, 0x45, 0x1b, 0xa6, 0x63, 0xe1, 0x97, 0x0c,
|
||||
0x7a, 0x0a, 0x77, 0xb4, 0x98, 0x60, 0x5a, 0x69, 0x9b, 0x80, 0xb6, 0xa0, 0x79, 0xab, 0x82, 0x5c,
|
||||
0x72, 0xbb, 0x61, 0xe0, 0x5b, 0x75, 0x23, 0x39, 0xf5, 0xe1, 0x88, 0x8b, 0x24, 0x61, 0x69, 0x12,
|
||||
0x8c, 0x19, 0xf2, 0x58, 0xd9, 0x7b, 0xed, 0x46, 0xe7, 0xa0, 0xf7, 0xd4, 0x93, 0x59, 0xe4, 0x6d,
|
||||
0x31, 0xe2, 0x5d, 0x19, 0xfa, 0xbb, 0x92, 0x7d, 0x99, 0x6a, 0x39, 0xf7, 0x0f, 0xf9, 0x2a, 0xe6,
|
||||
0xf4, 0x81, 0x6e, 0x92, 0xe8, 0x31, 0x34, 0x8a, 0x86, 0xcd, 0x40, 0x8a, 0xcf, 0xc2, 0xe8, 0x2c,
|
||||
0xe4, 0x39, 0xd6, 0x46, 0xcb, 0xe0, 0xa5, 0xf5, 0x82, 0xf4, 0x7e, 0x13, 0xb8, 0xff, 0xb7, 0x31,
|
||||
0x8d, 0x32, 0x0d, 0x39, 0x1d, 0xc0, 0xbd, 0x55, 0x3b, 0xd4, 0xde, 0xe5, 0xd0, 0xd9, 0x3a, 0x1c,
|
||||
0xf7, 0xee, 0x72, 0x41, 0xf6, 0xfa, 0xe4, 0x19, 0xa1, 0xdf, 0xe0, 0x64, 0xe3, 0xef, 0xd3, 0xf3,
|
||||
0x52, 0x6e, 0xd7, 0xc6, 0x38, 0x8f, 0x77, 0xa5, 0xcd, 0xd2, 0xb8, 0xb0, 0x5c, 0x90, 0xe6, 0x31,
|
||||
0xe9, 0x5b, 0x1d, 0xd2, 0xfb, 0x65, 0xc1, 0x51, 0x95, 0x1f, 0x84, 0x69, 0xcc, 0x51, 0xd2, 0x0f,
|
||||
0x70, 0x78, 0x93, 0xc5, 0xa1, 0x5e, 0x29, 0x57, 0x7b, 0x5c, 0xc3, 0xeb, 0x72, 0xad, 0x7f, 0x5b,
|
||||
0xb8, 0xd6, 0xa1, 0x46, 0xb7, 0xb9, 0x5c, 0x10, 0xeb, 0x98, 0x14, 0x72, 0x66, 0x03, 0x37, 0xe5,
|
||||
0xd6, 0xf0, 0xff, 0x94, 0xfb, 0x04, 0x74, 0x73, 0xa1, 0xa9, 0x69, 0x79, 0xe7, 0xa6, 0x3b, 0x0f,
|
||||
0x3d, 0x73, 0x7e, 0x5e, 0x7d, 0x7e, 0xde, 0x65, 0x71, 0x7e, 0xb5, 0xea, 0x9b, 0x27, 0x5f, 0x2e,
|
||||
0x12, 0xa6, 0xbf, 0xe7, 0x23, 0x2f, 0x12, 0xd3, 0x6e, 0x65, 0xc0, 0xdc, 0x6a, 0x24, 0x78, 0x57,
|
||||
0x66, 0xd1, 0xa8, 0x59, 0x46, 0xcf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x53, 0x41, 0x1b, 0x63,
|
||||
0x07, 0x04, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ func NewIngressClient(params ClientParams) (IngressClient, error) {
|
||||
if params.Bus == nil {
|
||||
return nil, nil
|
||||
}
|
||||
opts := clientOptions(params)
|
||||
opts := params.Options()
|
||||
|
||||
internalClient, err := NewIngressInternalClient(params.Bus, opts...)
|
||||
if err != nil {
|
||||
|
||||
@@ -867,10 +867,9 @@ var file_rpc_io_proto_rawDesc = []byte{
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
|
||||
0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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,
|
||||
0x21, 0x5a, 0x1f, 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, 0x72,
|
||||
0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
128
rpc/io.psrpc.go
128
rpc/io.psrpc.go
@@ -271,68 +271,68 @@ func (s *iOInfoServer) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor3 = []byte{
|
||||
// 1004 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x5d, 0x53, 0xe4, 0x44,
|
||||
0x14, 0x75, 0x3e, 0x97, 0xb9, 0x03, 0x38, 0xf6, 0x0e, 0x38, 0x84, 0xd2, 0xc5, 0x59, 0x51, 0x6a,
|
||||
0xdd, 0xca, 0x94, 0xf8, 0xa0, 0xa5, 0x65, 0x95, 0x30, 0x1b, 0x31, 0x8a, 0x30, 0x06, 0xe6, 0x41,
|
||||
0x5f, 0x62, 0x48, 0x9a, 0xd0, 0x92, 0x49, 0xb7, 0xdd, 0x1d, 0x58, 0xde, 0x7c, 0x52, 0xff, 0xaf,
|
||||
0xfe, 0x00, 0xab, 0x3f, 0x32, 0x0c, 0xcb, 0xcc, 0x62, 0xed, 0x53, 0xd2, 0xe7, 0x9e, 0x7b, 0x73,
|
||||
0xee, 0x49, 0xf7, 0x6d, 0x58, 0xe6, 0x2c, 0x1e, 0x10, 0xea, 0x32, 0x4e, 0x25, 0x45, 0x35, 0xce,
|
||||
0x62, 0xa7, 0x9b, 0x91, 0x2b, 0x7c, 0x49, 0x64, 0x88, 0x53, 0x8e, 0x85, 0x30, 0x21, 0x67, 0xad,
|
||||
0x44, 0x49, 0x3e, 0x0b, 0x6f, 0xa6, 0x94, 0xa6, 0x19, 0x1e, 0xe8, 0xd5, 0x59, 0x71, 0x3e, 0xc0,
|
||||
0x13, 0x26, 0x6f, 0x4c, 0xb0, 0x3f, 0x80, 0xce, 0x01, 0x96, 0x9e, 0xe6, 0x07, 0xf8, 0xf7, 0x02,
|
||||
0x0b, 0x89, 0x36, 0xa1, 0x65, 0xea, 0x86, 0x24, 0xe9, 0x55, 0xb6, 0x2a, 0x3b, 0xad, 0x60, 0xc9,
|
||||
0x00, 0x7e, 0xd2, 0xff, 0xab, 0x02, 0xdd, 0x31, 0x4b, 0x22, 0x89, 0x7f, 0xc4, 0x92, 0x93, 0x78,
|
||||
0x9a, 0xf5, 0x31, 0xd4, 0x49, 0x7e, 0x4e, 0x75, 0x42, 0x7b, 0xf7, 0xb1, 0x6b, 0xc5, 0xb8, 0xa6,
|
||||
0xb6, 0x9f, 0x9f, 0xd3, 0x40, 0x13, 0x50, 0x1f, 0x56, 0xa2, 0xab, 0x34, 0x8c, 0x59, 0x11, 0x16,
|
||||
0x22, 0x4a, 0x71, 0xaf, 0xb6, 0x55, 0xd9, 0xa9, 0x06, 0xed, 0xe8, 0x2a, 0x1d, 0xb2, 0x62, 0xac,
|
||||
0x20, 0xc5, 0x99, 0x44, 0x2f, 0x67, 0x38, 0x75, 0xc3, 0x99, 0x44, 0x2f, 0x4b, 0x4e, 0x7f, 0x0c,
|
||||
0x6b, 0x07, 0x58, 0xfa, 0xf9, 0x6d, 0x7d, 0xab, 0xe4, 0x3d, 0x00, 0xeb, 0xc0, 0x6d, 0x03, 0x2d,
|
||||
0x8b, 0xf8, 0x89, 0x0a, 0x0b, 0xc9, 0x71, 0x34, 0x09, 0x2f, 0xf1, 0x4d, 0xaf, 0x6a, 0xc2, 0x06,
|
||||
0xf9, 0x01, 0xdf, 0xf4, 0xff, 0xae, 0xc2, 0xfa, 0xab, 0x75, 0x05, 0xa3, 0xb9, 0xc0, 0x68, 0xe7,
|
||||
0x4e, 0x8b, 0xdd, 0x69, 0x8b, 0xb3, 0x5c, 0xd3, 0x63, 0x17, 0x1a, 0x92, 0x5e, 0xe2, 0xdc, 0x96,
|
||||
0x37, 0x0b, 0xb4, 0x06, 0xcd, 0x6b, 0x11, 0x16, 0x3c, 0xd3, 0x2d, 0xb7, 0x82, 0xc6, 0xb5, 0x18,
|
||||
0xf3, 0x0c, 0x8d, 0x61, 0x35, 0xa3, 0x69, 0x4a, 0xf2, 0x34, 0x3c, 0x27, 0x38, 0x4b, 0x44, 0xaf,
|
||||
0xbe, 0x55, 0xdb, 0x69, 0xef, 0xba, 0x2e, 0x67, 0xb1, 0x3b, 0x5f, 0x8b, 0x7b, 0x68, 0x32, 0xbe,
|
||||
0xd5, 0x09, 0x5e, 0x2e, 0xf9, 0x4d, 0xb0, 0x92, 0xcd, 0x62, 0xce, 0x37, 0x80, 0xee, 0x93, 0x50,
|
||||
0x07, 0x6a, 0xaa, 0x6d, 0xe3, 0x8a, 0x7a, 0x55, 0x5a, 0xaf, 0xa2, 0xac, 0xc0, 0xa5, 0x56, 0xbd,
|
||||
0xf8, 0xb2, 0xfa, 0x45, 0xa5, 0x9f, 0xc2, 0x86, 0xf9, 0xd5, 0x56, 0xc0, 0x89, 0x8c, 0x24, 0xfe,
|
||||
0x9f, 0x2e, 0x7f, 0x02, 0x0d, 0xa1, 0xe8, 0xba, 0x6a, 0x7b, 0x77, 0xed, 0x55, 0xb3, 0x4c, 0x2d,
|
||||
0xc3, 0xe9, 0xff, 0x51, 0x81, 0xad, 0x03, 0x2c, 0x4f, 0xfc, 0xd1, 0x29, 0x2f, 0xf2, 0xcb, 0xbd,
|
||||
0x42, 0x5e, 0xe0, 0x5c, 0x92, 0x38, 0x92, 0x84, 0xe6, 0xe5, 0x07, 0x11, 0xd4, 0xcf, 0x39, 0x9d,
|
||||
0x58, 0x99, 0xfa, 0x1d, 0xad, 0x42, 0x55, 0x52, 0xeb, 0x66, 0x55, 0x52, 0xf4, 0x04, 0xda, 0x82,
|
||||
0xc7, 0x61, 0x94, 0x24, 0xea, 0x1b, 0x7a, 0xd7, 0xb4, 0x02, 0x10, 0x3c, 0xde, 0x33, 0x08, 0x7a,
|
||||
0x17, 0x1e, 0x49, 0x1a, 0x5e, 0x50, 0x21, 0x7b, 0x0d, 0x1d, 0x6c, 0x4a, 0xfa, 0x1d, 0x15, 0xb2,
|
||||
0x4f, 0xe1, 0x83, 0xd7, 0x28, 0xb0, 0x1b, 0xc0, 0x81, 0xa5, 0x42, 0x60, 0x9e, 0x47, 0x13, 0x5c,
|
||||
0x1e, 0x8c, 0x72, 0xad, 0x62, 0x2c, 0x12, 0xe2, 0x9a, 0xf2, 0xc4, 0x4a, 0x9c, 0xae, 0x95, 0xf4,
|
||||
0x84, 0x53, 0xa6, 0x85, 0x2e, 0x05, 0xfa, 0xbd, 0xff, 0x67, 0x15, 0x9e, 0x78, 0xca, 0xeb, 0x48,
|
||||
0xe2, 0x13, 0x7f, 0xf4, 0x82, 0x08, 0x16, 0xc9, 0xf8, 0x22, 0x28, 0x32, 0x3c, 0x3d, 0x53, 0xcf,
|
||||
0x01, 0x09, 0xc2, 0x42, 0x16, 0x71, 0x49, 0x62, 0xc2, 0xa2, 0x5c, 0xde, 0x7a, 0xdd, 0x11, 0x84,
|
||||
0x8d, 0x6e, 0x03, 0x7e, 0x82, 0xb6, 0x61, 0x35, 0x8e, 0xb2, 0x4c, 0xed, 0xa3, 0xbc, 0x98, 0x9c,
|
||||
0x61, 0x6e, 0x75, 0xac, 0x58, 0xf4, 0x48, 0x83, 0xe8, 0x29, 0x68, 0x00, 0x27, 0x25, 0xcb, 0xd8,
|
||||
0xb7, 0x6c, 0x40, 0x4b, 0x7a, 0xd0, 0xc8, 0x0e, 0xd4, 0x18, 0xc9, 0xad, 0x89, 0xea, 0x55, 0xed,
|
||||
0xee, 0x9c, 0x86, 0x0a, 0x6c, 0xea, 0x36, 0x1b, 0x39, 0x1d, 0x91, 0x5c, 0x55, 0xb2, 0x9f, 0xd3,
|
||||
0xae, 0x3f, 0x32, 0x95, 0x0c, 0xa4, 0x9d, 0xff, 0xb7, 0x02, 0x5b, 0x8b, 0x8d, 0xb0, 0xce, 0x6f,
|
||||
0x42, 0x8b, 0x53, 0x3a, 0x09, 0x67, 0xad, 0x57, 0xc0, 0x91, 0xb2, 0xfe, 0x53, 0xe8, 0xde, 0xb5,
|
||||
0x48, 0xfd, 0x3a, 0x59, 0x9e, 0xed, 0xc7, 0x6c, 0xd6, 0x25, 0x13, 0x42, 0x4f, 0xa1, 0xcd, 0x8d,
|
||||
0xc9, 0x5a, 0xb1, 0xfe, 0x31, 0xfb, 0xd5, 0x5e, 0x25, 0x00, 0x0b, 0x2b, 0xe9, 0xd3, 0x53, 0x5c,
|
||||
0x9f, 0x7f, 0x8a, 0x1b, 0xb3, 0xa7, 0xd8, 0x85, 0x26, 0xc7, 0xa2, 0xc8, 0xa4, 0x6e, 0x7f, 0x75,
|
||||
0x77, 0x5d, 0x9f, 0xde, 0xd9, 0x86, 0x74, 0x34, 0xb0, 0xac, 0x67, 0xbf, 0xc2, 0x3b, 0xf7, 0x82,
|
||||
0xa8, 0x07, 0xdd, 0x43, 0xef, 0x60, 0x6f, 0xf8, 0x73, 0xb8, 0x37, 0x1c, 0x7a, 0xa3, 0xd3, 0xf0,
|
||||
0x38, 0x08, 0x47, 0xfe, 0x51, 0xe7, 0x2d, 0x04, 0xd0, 0x34, 0x50, 0xa7, 0x82, 0xde, 0x86, 0x76,
|
||||
0xe0, 0xfd, 0x34, 0xf6, 0x4e, 0x4e, 0x75, 0xb0, 0xaa, 0x82, 0x81, 0xf7, 0xbd, 0x37, 0x3c, 0xed,
|
||||
0xd4, 0xd0, 0x12, 0xd4, 0x5f, 0x04, 0xc7, 0xa3, 0x4e, 0x7d, 0xf7, 0x9f, 0x06, 0x34, 0xfd, 0x63,
|
||||
0x35, 0x35, 0xd0, 0x57, 0xb0, 0x3c, 0xe4, 0x38, 0x92, 0xd8, 0x4c, 0x63, 0x34, 0x6f, 0x3c, 0x3b,
|
||||
0xeb, 0xae, 0xb9, 0x29, 0xdc, 0xf2, 0xa6, 0x70, 0x3d, 0x75, 0x53, 0xa8, 0x64, 0x33, 0x06, 0xde,
|
||||
0x24, 0xf9, 0x73, 0x68, 0x4d, 0x2f, 0x18, 0xb4, 0x56, 0x4e, 0xb4, 0x3b, 0x17, 0x8e, 0x33, 0xaf,
|
||||
0x20, 0xf2, 0x00, 0x0e, 0x89, 0x28, 0x33, 0x9d, 0x29, 0xe5, 0x16, 0x2c, 0xd3, 0x37, 0xe7, 0xc6,
|
||||
0xec, 0xc6, 0xd9, 0x87, 0x95, 0x3b, 0xd7, 0x15, 0xda, 0xd0, 0x1a, 0xe6, 0x5d, 0x61, 0x0b, 0x7b,
|
||||
0xf8, 0x1a, 0x56, 0x8c, 0x7b, 0x76, 0x76, 0xa1, 0xb9, 0xa3, 0x7f, 0x61, 0xba, 0x0f, 0xab, 0x77,
|
||||
0x87, 0x38, 0x72, 0xe6, 0x4e, 0xf6, 0xb2, 0x9b, 0xc5, 0x53, 0x1f, 0x1d, 0x02, 0xba, 0x3f, 0x91,
|
||||
0xd1, 0xfb, 0x33, 0x2d, 0xcd, 0x19, 0xd5, 0x0b, 0x85, 0xfd, 0x06, 0x1b, 0x0b, 0x67, 0x1e, 0xda,
|
||||
0x2e, 0x75, 0xbc, 0x76, 0x2a, 0x3b, 0x1f, 0x3d, 0x44, 0xb3, 0xca, 0x53, 0xe8, 0x2d, 0x3a, 0xe4,
|
||||
0xe8, 0x43, 0x5d, 0xe3, 0x81, 0x61, 0xe8, 0x6c, 0x3f, 0xc0, 0x32, 0x1f, 0xda, 0x7f, 0xfe, 0xcb,
|
||||
0xb3, 0x94, 0xc8, 0x8b, 0xe2, 0xcc, 0x8d, 0xe9, 0x64, 0x60, 0xff, 0xd3, 0xf4, 0xc9, 0x2e, 0xd3,
|
||||
0x81, 0xc0, 0xfc, 0x8a, 0xc4, 0x78, 0xc0, 0x59, 0x7c, 0xd6, 0xd4, 0x96, 0x7c, 0xf6, 0x5f, 0x00,
|
||||
0x00, 0x00, 0xff, 0xff, 0x67, 0xb7, 0xc7, 0x3b, 0x65, 0x09, 0x00, 0x00,
|
||||
// 997 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x5d, 0x73, 0xe3, 0x34,
|
||||
0x14, 0x25, 0x9f, 0xdb, 0xdc, 0xb4, 0x25, 0x68, 0xd3, 0x92, 0xba, 0x03, 0xed, 0x66, 0x29, 0x74,
|
||||
0x80, 0x71, 0x86, 0xf0, 0x00, 0x03, 0xc3, 0x0c, 0x6d, 0xd6, 0x14, 0x43, 0x69, 0x83, 0xdb, 0x3c,
|
||||
0xc0, 0x8b, 0x71, 0x6d, 0xc5, 0x15, 0x75, 0x2c, 0x23, 0xc9, 0xed, 0xf6, 0x8d, 0x27, 0xe0, 0xff,
|
||||
0xc2, 0x0f, 0x60, 0xf4, 0xe1, 0x7c, 0x6c, 0x93, 0x2d, 0xc3, 0x9b, 0x75, 0xee, 0xb9, 0xd7, 0xe7,
|
||||
0x1e, 0x4b, 0x57, 0x86, 0x75, 0x96, 0x85, 0x3d, 0x42, 0xed, 0x8c, 0x51, 0x41, 0x51, 0x85, 0x65,
|
||||
0xa1, 0xd5, 0x4e, 0xc8, 0x2d, 0xbe, 0x21, 0xc2, 0xc7, 0x31, 0xc3, 0x9c, 0xeb, 0x90, 0xb5, 0x55,
|
||||
0xa0, 0x24, 0x9d, 0x87, 0x77, 0x63, 0x4a, 0xe3, 0x04, 0xf7, 0xd4, 0xea, 0x2a, 0x1f, 0xf7, 0xf0,
|
||||
0x24, 0x13, 0xf7, 0x3a, 0xd8, 0xed, 0x41, 0xeb, 0x04, 0x0b, 0x47, 0xf1, 0x3d, 0xfc, 0x5b, 0x8e,
|
||||
0xb9, 0x40, 0xbb, 0xd0, 0xd0, 0x75, 0x7d, 0x12, 0x75, 0x4a, 0xfb, 0xa5, 0xc3, 0x86, 0xb7, 0xa6,
|
||||
0x01, 0x37, 0xea, 0xfe, 0x59, 0x82, 0xf6, 0x28, 0x8b, 0x02, 0x81, 0x7f, 0xc0, 0x82, 0x91, 0x70,
|
||||
0x9a, 0xf5, 0x01, 0x54, 0x49, 0x3a, 0xa6, 0x2a, 0xa1, 0xd9, 0x7f, 0x6a, 0x1b, 0x31, 0xb6, 0xae,
|
||||
0xed, 0xa6, 0x63, 0xea, 0x29, 0x02, 0xea, 0xc2, 0x46, 0x70, 0x1b, 0xfb, 0x61, 0x96, 0xfb, 0x39,
|
||||
0x0f, 0x62, 0xdc, 0xa9, 0xec, 0x97, 0x0e, 0xcb, 0x5e, 0x33, 0xb8, 0x8d, 0x07, 0x59, 0x3e, 0x92,
|
||||
0x90, 0xe4, 0x4c, 0x82, 0x97, 0x73, 0x9c, 0xaa, 0xe6, 0x4c, 0x82, 0x97, 0x05, 0xa7, 0x3b, 0x82,
|
||||
0xad, 0x13, 0x2c, 0xdc, 0x74, 0x56, 0xdf, 0x28, 0x79, 0x07, 0xc0, 0x38, 0x30, 0x6b, 0xa0, 0x61,
|
||||
0x10, 0x37, 0x92, 0x61, 0x2e, 0x18, 0x0e, 0x26, 0xfe, 0x0d, 0xbe, 0xef, 0x94, 0x75, 0x58, 0x23,
|
||||
0xdf, 0xe3, 0xfb, 0xee, 0x5f, 0x65, 0xd8, 0x7e, 0xb5, 0x2e, 0xcf, 0x68, 0xca, 0x31, 0x3a, 0x5c,
|
||||
0x68, 0xb1, 0x3d, 0x6d, 0x71, 0x9e, 0xab, 0x7b, 0x6c, 0x43, 0x4d, 0xd0, 0x1b, 0x9c, 0x9a, 0xf2,
|
||||
0x7a, 0x81, 0xb6, 0xa0, 0x7e, 0xc7, 0xfd, 0x9c, 0x25, 0xaa, 0xe5, 0x86, 0x57, 0xbb, 0xe3, 0x23,
|
||||
0x96, 0xa0, 0x11, 0x6c, 0x26, 0x34, 0x8e, 0x49, 0x1a, 0xfb, 0x63, 0x82, 0x93, 0x88, 0x77, 0xaa,
|
||||
0xfb, 0x95, 0xc3, 0x66, 0xdf, 0xb6, 0x59, 0x16, 0xda, 0xcb, 0xb5, 0xd8, 0xa7, 0x3a, 0xe3, 0x1b,
|
||||
0x95, 0xe0, 0xa4, 0x82, 0xdd, 0x7b, 0x1b, 0xc9, 0x3c, 0x66, 0x7d, 0x0d, 0xe8, 0x21, 0x09, 0xb5,
|
||||
0xa0, 0x22, 0xdb, 0xd6, 0xae, 0xc8, 0x47, 0xa9, 0xf5, 0x36, 0x48, 0x72, 0x5c, 0x68, 0x55, 0x8b,
|
||||
0x2f, 0xca, 0x9f, 0x97, 0xba, 0x31, 0xec, 0xe8, 0x4f, 0x6d, 0x04, 0x5c, 0x88, 0x40, 0xe0, 0xff,
|
||||
0xe8, 0xf2, 0x47, 0x50, 0xe3, 0x92, 0xae, 0xaa, 0x36, 0xfb, 0x5b, 0xaf, 0x9a, 0xa5, 0x6b, 0x69,
|
||||
0x4e, 0xf7, 0xf7, 0x12, 0xec, 0x9f, 0x60, 0x71, 0xe1, 0x0e, 0x2f, 0x59, 0x9e, 0xde, 0x1c, 0xe5,
|
||||
0xe2, 0x1a, 0xa7, 0x82, 0x84, 0x81, 0x20, 0x34, 0x2d, 0x5e, 0x88, 0xa0, 0x3a, 0x66, 0x74, 0x62,
|
||||
0x64, 0xaa, 0x67, 0xb4, 0x09, 0x65, 0x41, 0x8d, 0x9b, 0x65, 0x41, 0xd1, 0x1e, 0x34, 0x39, 0x0b,
|
||||
0xfd, 0x20, 0x8a, 0xe4, 0x3b, 0xd4, 0xae, 0x69, 0x78, 0xc0, 0x59, 0x78, 0xa4, 0x11, 0xf4, 0x36,
|
||||
0x3c, 0x11, 0xd4, 0xbf, 0xa6, 0x5c, 0x74, 0x6a, 0x2a, 0x58, 0x17, 0xf4, 0x5b, 0xca, 0x45, 0x97,
|
||||
0xc2, 0xb3, 0xd7, 0x28, 0x30, 0x1b, 0xc0, 0x82, 0xb5, 0x9c, 0x63, 0x96, 0x06, 0x13, 0x5c, 0x1c,
|
||||
0x8c, 0x62, 0x2d, 0x63, 0x59, 0xc0, 0xf9, 0x1d, 0x65, 0x91, 0x91, 0x38, 0x5d, 0x4b, 0xe9, 0x11,
|
||||
0xa3, 0x99, 0x12, 0xba, 0xe6, 0xa9, 0xe7, 0xee, 0x1f, 0x65, 0xd8, 0x73, 0xa4, 0xd7, 0x81, 0xc0,
|
||||
0x17, 0xee, 0xf0, 0x05, 0xe1, 0x59, 0x20, 0xc2, 0x6b, 0x2f, 0x4f, 0xf0, 0xf4, 0x4c, 0x7d, 0x0c,
|
||||
0x88, 0x93, 0xcc, 0xcf, 0x02, 0x26, 0x48, 0x48, 0xb2, 0x20, 0x15, 0x33, 0xaf, 0x5b, 0x9c, 0x64,
|
||||
0xc3, 0x59, 0xc0, 0x8d, 0xd0, 0x01, 0x6c, 0x86, 0x41, 0x92, 0xc8, 0x7d, 0x94, 0xe6, 0x93, 0x2b,
|
||||
0xcc, 0x8c, 0x8e, 0x0d, 0x83, 0x9e, 0x29, 0x10, 0x3d, 0x07, 0x05, 0xe0, 0xa8, 0x60, 0x69, 0xfb,
|
||||
0xd6, 0x35, 0x68, 0x48, 0x8f, 0x1a, 0xd9, 0x82, 0x4a, 0x46, 0x52, 0x63, 0xa2, 0x7c, 0x94, 0xbb,
|
||||
0x3b, 0xa5, 0xbe, 0x04, 0xeb, 0xaa, 0xcd, 0x5a, 0x4a, 0x87, 0x24, 0x95, 0x95, 0xcc, 0xeb, 0x94,
|
||||
0xeb, 0x4f, 0x74, 0x25, 0x0d, 0x29, 0xe7, 0xff, 0x29, 0xc1, 0xfe, 0x6a, 0x23, 0x8c, 0xf3, 0xbb,
|
||||
0xd0, 0x60, 0x94, 0x4e, 0xfc, 0x79, 0xeb, 0x25, 0x70, 0x26, 0xad, 0xff, 0x04, 0xda, 0x8b, 0x16,
|
||||
0xc9, 0x4f, 0x27, 0x8a, 0xb3, 0xfd, 0x34, 0x9b, 0x77, 0x49, 0x87, 0xd0, 0x73, 0x68, 0x32, 0x6d,
|
||||
0xb2, 0x52, 0xac, 0x3e, 0xcc, 0x71, 0xb9, 0x53, 0xf2, 0xc0, 0xc0, 0x52, 0xfa, 0xf4, 0x14, 0x57,
|
||||
0x97, 0x9f, 0xe2, 0xda, 0xfc, 0x29, 0xb6, 0xa1, 0xce, 0x30, 0xcf, 0x13, 0xa1, 0xda, 0xdf, 0xec,
|
||||
0x6f, 0xab, 0xd3, 0x3b, 0xdf, 0x90, 0x8a, 0x7a, 0x86, 0xf5, 0xe1, 0x2f, 0xf0, 0xd6, 0x83, 0x20,
|
||||
0xea, 0x40, 0xfb, 0xd4, 0x39, 0x39, 0x1a, 0xfc, 0xe4, 0x1f, 0x0d, 0x06, 0xce, 0xf0, 0xd2, 0x3f,
|
||||
0xf7, 0xfc, 0xa1, 0x7b, 0xd6, 0x7a, 0x03, 0x01, 0xd4, 0x35, 0xd4, 0x2a, 0xa1, 0x37, 0xa1, 0xe9,
|
||||
0x39, 0x3f, 0x8e, 0x9c, 0x8b, 0x4b, 0x15, 0x2c, 0xcb, 0xa0, 0xe7, 0x7c, 0xe7, 0x0c, 0x2e, 0x5b,
|
||||
0x15, 0xb4, 0x06, 0xd5, 0x17, 0xde, 0xf9, 0xb0, 0x55, 0xed, 0xff, 0x5d, 0x83, 0xba, 0x7b, 0x2e,
|
||||
0xa7, 0x06, 0xfa, 0x12, 0xd6, 0x07, 0x0c, 0x07, 0x02, 0xeb, 0x69, 0x8c, 0x96, 0x8d, 0x67, 0x6b,
|
||||
0xdb, 0xd6, 0x37, 0x85, 0x5d, 0xdc, 0x14, 0xb6, 0x23, 0x6f, 0x0a, 0x99, 0xac, 0xc7, 0xc0, 0xff,
|
||||
0x49, 0xfe, 0x0c, 0x1a, 0xd3, 0x0b, 0x06, 0x6d, 0x15, 0x13, 0x6d, 0xe1, 0xc2, 0xb1, 0x96, 0x15,
|
||||
0x44, 0x0e, 0xc0, 0x29, 0xe1, 0x45, 0xa6, 0x35, 0xa5, 0xcc, 0xc0, 0x22, 0x7d, 0x77, 0x69, 0xcc,
|
||||
0x6c, 0x9c, 0x63, 0xd8, 0x58, 0xb8, 0xae, 0xd0, 0x8e, 0xd2, 0xb0, 0xec, 0x0a, 0x5b, 0xd9, 0xc3,
|
||||
0x57, 0xb0, 0xa1, 0xdd, 0x33, 0xb3, 0x0b, 0x2d, 0x1d, 0xfd, 0x2b, 0xd3, 0x5d, 0xd8, 0x5c, 0x1c,
|
||||
0xe2, 0xc8, 0x5a, 0x3a, 0xd9, 0x8b, 0x6e, 0x56, 0x4f, 0x7d, 0x74, 0x0a, 0xe8, 0xe1, 0x44, 0x46,
|
||||
0xef, 0xce, 0xb5, 0xb4, 0x64, 0x54, 0xaf, 0x14, 0xf6, 0x2b, 0xec, 0xac, 0x9c, 0x79, 0xe8, 0xa0,
|
||||
0xd0, 0xf1, 0xda, 0xa9, 0x6c, 0xbd, 0xff, 0x18, 0xcd, 0x28, 0x8f, 0xa1, 0xb3, 0xea, 0x90, 0xa3,
|
||||
0xf7, 0x54, 0x8d, 0x47, 0x86, 0xa1, 0x75, 0xf0, 0x08, 0x4b, 0xbf, 0xe8, 0xf8, 0xd9, 0xcf, 0x7b,
|
||||
0x31, 0x11, 0xd7, 0xf9, 0x95, 0x1d, 0xd2, 0x49, 0xcf, 0x7c, 0x27, 0xfd, 0xf3, 0x13, 0xd2, 0xa4,
|
||||
0xc7, 0xb2, 0xf0, 0xaa, 0xae, 0x56, 0x9f, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xf3, 0x56,
|
||||
0x26, 0x5a, 0x09, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -95,11 +95,10 @@ var file_rpc_keepalive_proto_rawDesc = []byte{
|
||||
0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x50, 0x69, 0x6e,
|
||||
0x67, 0x1a, 0x12, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
|
||||
0x65, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x16, 0xb2, 0x89, 0x01, 0x12, 0x08, 0x01, 0x10, 0x01, 0x1a,
|
||||
0x0a, 0x12, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x18, 0x01, 0x28, 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,
|
||||
0x0a, 0x12, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x18, 0x01, 0x28, 0x01, 0x42, 0x21, 0x5a,
|
||||
0x1f, 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, 0x72, 0x70, 0x63,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -115,7 +115,7 @@ func (s *keepaliveServer[NodeIDTopicType]) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor4 = []byte{
|
||||
// 185 bytes of a gzipped FileDescriptorProto
|
||||
// 178 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2e, 0x2a, 0x48, 0xd6,
|
||||
0xcf, 0x4e, 0x4d, 0x2d, 0x48, 0xcc, 0xc9, 0x2c, 0x4b, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17,
|
||||
0x62, 0x2e, 0x2a, 0x48, 0x96, 0xe2, 0xcd, 0x2f, 0x28, 0xc9, 0xcc, 0xcf, 0x2b, 0x86, 0x88, 0x29,
|
||||
@@ -124,8 +124,8 @@ var psrpcFileDescriptor4 = []byte{
|
||||
0x8c, 0x42, 0xb9, 0x38, 0xe1, 0xca, 0x85, 0x3c, 0xb8, 0x58, 0xc0, 0x5a, 0x84, 0xf4, 0x8a, 0x0a,
|
||||
0x92, 0xf5, 0x50, 0x8c, 0x91, 0xc2, 0x22, 0xa6, 0x24, 0xb1, 0xa9, 0x93, 0x51, 0x84, 0x83, 0x51,
|
||||
0x80, 0x51, 0x8a, 0x4b, 0x88, 0x2d, 0x2f, 0x3f, 0x25, 0xd5, 0xd3, 0x45, 0x82, 0xd1, 0x81, 0x49,
|
||||
0x83, 0xd1, 0x49, 0x27, 0x4a, 0x2b, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x57,
|
||||
0x1f, 0xa4, 0x21, 0x3b, 0xb3, 0x04, 0x4e, 0x17, 0x64, 0xa7, 0xeb, 0x17, 0xa7, 0x16, 0x95, 0x65,
|
||||
0x26, 0xa7, 0xea, 0x17, 0x15, 0x24, 0x27, 0xb1, 0x81, 0x9d, 0x6e, 0x0c, 0x08, 0x00, 0x00, 0xff,
|
||||
0xff, 0x94, 0x0b, 0x56, 0x29, 0xe5, 0x00, 0x00, 0x00,
|
||||
0x83, 0xd1, 0x49, 0x31, 0x4a, 0x3e, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x57,
|
||||
0x1f, 0xa4, 0x21, 0x3b, 0xb3, 0x44, 0x1f, 0xec, 0xc2, 0xe4, 0xfc, 0x1c, 0xfd, 0xa2, 0x82, 0xe4,
|
||||
0x24, 0x36, 0x30, 0xcf, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x1d, 0x8f, 0xd1, 0xda, 0x00,
|
||||
0x00, 0x00,
|
||||
}
|
||||
|
||||
130
rpc/metrics.go
130
rpc/metrics.go
@@ -15,9 +15,13 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"sort"
|
||||
sync "sync"
|
||||
"time"
|
||||
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"go.uber.org/atomic"
|
||||
"golang.org/x/exp/maps"
|
||||
|
||||
"github.com/livekit/psrpc"
|
||||
"github.com/livekit/psrpc/pkg/middleware"
|
||||
@@ -27,56 +31,122 @@ const (
|
||||
livekitNamespace = "livekit"
|
||||
)
|
||||
|
||||
type psrpcMetrics struct {
|
||||
requestTime prometheus.ObserverVec
|
||||
streamSendTime prometheus.ObserverVec
|
||||
streamReceiveTotal *prometheus.CounterVec
|
||||
streamCurrent *prometheus.GaugeVec
|
||||
errorTotal *prometheus.CounterVec
|
||||
}
|
||||
|
||||
var (
|
||||
psrpcRequestTime *prometheus.HistogramVec
|
||||
psrpcStreamSendTime *prometheus.HistogramVec
|
||||
psrpcStreamReceiveTotal *prometheus.CounterVec
|
||||
psrpcStreamCurrent *prometheus.GaugeVec
|
||||
psrpcErrorTotal *prometheus.CounterVec
|
||||
metricsBase struct {
|
||||
mu sync.RWMutex
|
||||
initialized bool
|
||||
curryLabels prometheus.Labels
|
||||
psrpcMetrics
|
||||
}
|
||||
metrics atomic.Pointer[psrpcMetrics]
|
||||
)
|
||||
|
||||
func InitPSRPCStats(constLabels prometheus.Labels) {
|
||||
labels := []string{"role", "kind", "service", "method"}
|
||||
streamLabels := []string{"role", "service", "method"}
|
||||
type psrpcMetricsOptions struct {
|
||||
curryLabels prometheus.Labels
|
||||
}
|
||||
|
||||
psrpcRequestTime = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
||||
type PSRPCMetricsOption func(*psrpcMetricsOptions)
|
||||
|
||||
func WithCurryLabels(labels prometheus.Labels) PSRPCMetricsOption {
|
||||
return func(o *psrpcMetricsOptions) {
|
||||
maps.Copy(o.curryLabels, labels)
|
||||
}
|
||||
}
|
||||
|
||||
func InitPSRPCStats(constLabels prometheus.Labels, opts ...PSRPCMetricsOption) {
|
||||
metricsBase.mu.Lock()
|
||||
if metricsBase.initialized {
|
||||
metricsBase.mu.Unlock()
|
||||
return
|
||||
}
|
||||
metricsBase.initialized = true
|
||||
|
||||
o := psrpcMetricsOptions{
|
||||
curryLabels: prometheus.Labels{},
|
||||
}
|
||||
for _, opt := range opts {
|
||||
opt(&o)
|
||||
}
|
||||
|
||||
metricsBase.curryLabels = o.curryLabels
|
||||
curryLabelNames := maps.Keys(o.curryLabels)
|
||||
sort.Strings(curryLabelNames)
|
||||
|
||||
labels := append(curryLabelNames, "role", "kind", "service", "method")
|
||||
streamLabels := append(curryLabelNames, "role", "service", "method")
|
||||
|
||||
metricsBase.requestTime = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
||||
Namespace: livekitNamespace,
|
||||
Subsystem: "psrpc",
|
||||
Name: "request_time_ms",
|
||||
ConstLabels: constLabels,
|
||||
Buckets: []float64{10, 50, 100, 300, 500, 1000, 1500, 2000, 5000, 10000},
|
||||
}, labels)
|
||||
psrpcStreamSendTime = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
||||
metricsBase.streamSendTime = prometheus.NewHistogramVec(prometheus.HistogramOpts{
|
||||
Namespace: livekitNamespace,
|
||||
Subsystem: "psrpc",
|
||||
Name: "stream_send_time_ms",
|
||||
ConstLabels: constLabels,
|
||||
Buckets: []float64{10, 50, 100, 300, 500, 1000, 1500, 2000, 5000, 10000},
|
||||
}, streamLabels)
|
||||
psrpcStreamReceiveTotal = prometheus.NewCounterVec(prometheus.CounterOpts{
|
||||
metricsBase.streamReceiveTotal = prometheus.NewCounterVec(prometheus.CounterOpts{
|
||||
Namespace: livekitNamespace,
|
||||
Subsystem: "psrpc",
|
||||
Name: "stream_receive_total",
|
||||
ConstLabels: constLabels,
|
||||
}, streamLabels)
|
||||
psrpcStreamCurrent = prometheus.NewGaugeVec(prometheus.GaugeOpts{
|
||||
metricsBase.streamCurrent = prometheus.NewGaugeVec(prometheus.GaugeOpts{
|
||||
Namespace: livekitNamespace,
|
||||
Subsystem: "psrpc",
|
||||
Name: "stream_count",
|
||||
ConstLabels: constLabels,
|
||||
}, streamLabels)
|
||||
psrpcErrorTotal = prometheus.NewCounterVec(prometheus.CounterOpts{
|
||||
metricsBase.errorTotal = prometheus.NewCounterVec(prometheus.CounterOpts{
|
||||
Namespace: livekitNamespace,
|
||||
Subsystem: "psrpc",
|
||||
Name: "error_total",
|
||||
ConstLabels: constLabels,
|
||||
}, labels)
|
||||
|
||||
prometheus.MustRegister(psrpcRequestTime)
|
||||
prometheus.MustRegister(psrpcStreamSendTime)
|
||||
prometheus.MustRegister(psrpcStreamReceiveTotal)
|
||||
prometheus.MustRegister(psrpcStreamCurrent)
|
||||
prometheus.MustRegister(psrpcErrorTotal)
|
||||
metricsBase.mu.Unlock()
|
||||
|
||||
prometheus.MustRegister(metricsBase.requestTime)
|
||||
prometheus.MustRegister(metricsBase.streamSendTime)
|
||||
prometheus.MustRegister(metricsBase.streamReceiveTotal)
|
||||
prometheus.MustRegister(metricsBase.streamCurrent)
|
||||
prometheus.MustRegister(metricsBase.errorTotal)
|
||||
|
||||
CurryMetricLabels(o.curryLabels)
|
||||
}
|
||||
|
||||
func CurryMetricLabels(labels prometheus.Labels) {
|
||||
metricsBase.mu.Lock()
|
||||
defer metricsBase.mu.Unlock()
|
||||
if !metricsBase.initialized {
|
||||
return
|
||||
}
|
||||
|
||||
for k := range metricsBase.curryLabels {
|
||||
if v, ok := labels[k]; ok {
|
||||
metricsBase.curryLabels[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
metrics.Store(&psrpcMetrics{
|
||||
requestTime: metricsBase.requestTime.MustCurryWith(metricsBase.curryLabels),
|
||||
streamSendTime: metricsBase.streamSendTime.MustCurryWith(metricsBase.curryLabels),
|
||||
streamReceiveTotal: metricsBase.streamReceiveTotal.MustCurryWith(metricsBase.curryLabels),
|
||||
streamCurrent: metricsBase.streamCurrent.MustCurryWith(metricsBase.curryLabels),
|
||||
errorTotal: metricsBase.errorTotal.MustCurryWith(metricsBase.curryLabels),
|
||||
})
|
||||
}
|
||||
|
||||
var _ middleware.MetricsObserver = PSRPCMetricsObserver{}
|
||||
@@ -85,46 +155,46 @@ type PSRPCMetricsObserver struct{}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnUnaryRequest(role middleware.MetricRole, info psrpc.RPCInfo, duration time.Duration, err error) {
|
||||
if err != nil {
|
||||
psrpcErrorTotal.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Inc()
|
||||
metrics.Load().errorTotal.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Inc()
|
||||
} else if role == middleware.ClientRole {
|
||||
psrpcRequestTime.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
metrics.Load().requestTime.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
} else {
|
||||
psrpcRequestTime.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
metrics.Load().requestTime.WithLabelValues(role.String(), "rpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
}
|
||||
}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnMultiRequest(role middleware.MetricRole, info psrpc.RPCInfo, duration time.Duration, responseCount int, errorCount int) {
|
||||
if responseCount == 0 {
|
||||
psrpcErrorTotal.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Inc()
|
||||
metrics.Load().errorTotal.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Inc()
|
||||
} else if role == middleware.ClientRole {
|
||||
psrpcRequestTime.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
metrics.Load().requestTime.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
} else {
|
||||
psrpcRequestTime.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
metrics.Load().requestTime.WithLabelValues(role.String(), "multirpc", info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
}
|
||||
}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnStreamSend(role middleware.MetricRole, info psrpc.RPCInfo, duration time.Duration, err error) {
|
||||
if err != nil {
|
||||
psrpcErrorTotal.WithLabelValues(role.String(), "stream", info.Service, info.Method).Inc()
|
||||
metrics.Load().errorTotal.WithLabelValues(role.String(), "stream", info.Service, info.Method).Inc()
|
||||
} else {
|
||||
psrpcStreamSendTime.WithLabelValues(role.String(), info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
metrics.Load().streamSendTime.WithLabelValues(role.String(), info.Service, info.Method).Observe(float64(duration.Milliseconds()))
|
||||
}
|
||||
}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnStreamRecv(role middleware.MetricRole, info psrpc.RPCInfo, err error) {
|
||||
if err != nil {
|
||||
psrpcErrorTotal.WithLabelValues(role.String(), "stream", info.Service, info.Method).Inc()
|
||||
metrics.Load().errorTotal.WithLabelValues(role.String(), "stream", info.Service, info.Method).Inc()
|
||||
} else {
|
||||
psrpcStreamReceiveTotal.WithLabelValues(role.String(), info.Service, info.Method).Inc()
|
||||
metrics.Load().streamReceiveTotal.WithLabelValues(role.String(), info.Service, info.Method).Inc()
|
||||
}
|
||||
}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnStreamOpen(role middleware.MetricRole, info psrpc.RPCInfo) {
|
||||
psrpcStreamCurrent.WithLabelValues(role.String(), info.Service, info.Method).Inc()
|
||||
metrics.Load().streamCurrent.WithLabelValues(role.String(), info.Service, info.Method).Inc()
|
||||
}
|
||||
|
||||
func (o PSRPCMetricsObserver) OnStreamClose(role middleware.MetricRole, info psrpc.RPCInfo) {
|
||||
psrpcStreamCurrent.WithLabelValues(role.String(), info.Service, info.Method).Dec()
|
||||
metrics.Load().streamCurrent.WithLabelValues(role.String(), info.Service, info.Method).Dec()
|
||||
}
|
||||
|
||||
type UnimplementedMetricsObserver struct{}
|
||||
|
||||
@@ -76,10 +76,9 @@ var file_rpc_participant_proto_rawDesc = []byte{
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xb2, 0x89,
|
||||
0x01, 0x20, 0x10, 0x01, 0x1a, 0x1c, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
|
||||
0x61, 0x6e, 0x74, 0x12, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x18, 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,
|
||||
0x18, 0x01, 0x42, 0x21, 0x5a, 0x1f, 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, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var file_rpc_participant_proto_goTypes = []interface{}{
|
||||
|
||||
@@ -202,24 +202,24 @@ func (s *participantServer[ParticipantTopicType]) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor5 = []byte{
|
||||
// 299 bytes of a gzipped FileDescriptorProto
|
||||
// 293 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x4a, 0xc3, 0x40,
|
||||
0x10, 0xc6, 0x09, 0x8a, 0x87, 0x2d, 0x82, 0x5d, 0x15, 0x4a, 0x50, 0xa9, 0xb5, 0x27, 0x91, 0x04,
|
||||
0xf4, 0x0d, 0xbc, 0x79, 0x10, 0x4a, 0xd4, 0x8b, 0x17, 0x49, 0x36, 0x63, 0xbb, 0xe4, 0xcf, 0x8c,
|
||||
0xbb, 0x93, 0x40, 0x4f, 0xde, 0x04, 0x7d, 0x1c, 0x9f, 0x50, 0xda, 0x34, 0x69, 0x5a, 0x51, 0xda,
|
||||
0x53, 0xc8, 0xef, 0x9b, 0xf9, 0xbe, 0x9d, 0xd9, 0x15, 0xc7, 0x86, 0x94, 0x4f, 0xa1, 0x61, 0xad,
|
||||
0x34, 0x85, 0x39, 0x7b, 0x64, 0x90, 0x51, 0xee, 0x18, 0x52, 0xee, 0x3e, 0x12, 0x6b, 0xcc, 0x6d,
|
||||
0xc5, 0xdc, 0xa3, 0x54, 0x97, 0x90, 0x68, 0x7e, 0xc9, 0x30, 0x86, 0xb4, 0xa6, 0xb2, 0xa6, 0x06,
|
||||
0x31, 0xab, 0xd8, 0xf5, 0xd7, 0xae, 0xe8, 0x8c, 0x96, 0x9e, 0xf2, 0x5d, 0x74, 0x03, 0xc8, 0xb0,
|
||||
0x84, 0x36, 0xec, 0x7b, 0x8b, 0x4e, 0x2f, 0x40, 0xcc, 0x5a, 0xca, 0x5d, 0x0c, 0x39, 0x6b, 0x9e,
|
||||
0xba, 0x83, 0x65, 0xc5, 0x7a, 0x77, 0x00, 0x96, 0x30, 0xb7, 0x30, 0x18, 0x7e, 0x7f, 0x3a, 0xfd,
|
||||
0x03, 0xc7, 0x3d, 0x11, 0x9d, 0xd6, 0x14, 0xb2, 0xfd, 0xd3, 0x73, 0xe4, 0x54, 0xc8, 0xfb, 0x82,
|
||||
0x61, 0x54, 0x44, 0xa9, 0xb6, 0x13, 0x88, 0x1f, 0x4d, 0xa8, 0x12, 0x79, 0xda, 0xf8, 0xcf, 0xc4,
|
||||
0xd9, 0x29, 0xe6, 0x3c, 0x80, 0xb7, 0x02, 0x2c, 0xbb, 0x67, 0x7f, 0xc9, 0x5b, 0x45, 0x97, 0xa2,
|
||||
0xfb, 0x44, 0x71, 0xc8, 0x2b, 0xb3, 0x9f, 0x37, 0xd6, 0xbf, 0xb4, 0x3a, 0xbd, 0xd7, 0x94, 0xb4,
|
||||
0x57, 0x93, 0xbf, 0xe2, 0x86, 0xb9, 0x1f, 0x8e, 0x38, 0xac, 0xcc, 0x1f, 0x8a, 0xc8, 0x2a, 0xa3,
|
||||
0xab, 0xbb, 0x94, 0x17, 0x6b, 0xd1, 0x2b, 0x6a, 0x1d, 0x3e, 0xfc, 0xbf, 0x68, 0x9b, 0x05, 0xdc,
|
||||
0x5e, 0x3d, 0x5f, 0x8e, 0x35, 0x4f, 0x8a, 0xc8, 0x53, 0x98, 0xf9, 0x0b, 0xdf, 0xe6, 0x4b, 0xc9,
|
||||
0xd8, 0xb7, 0x60, 0x4a, 0xad, 0xc0, 0x37, 0xa4, 0xa2, 0xbd, 0xf9, 0x0b, 0xba, 0xf9, 0x09, 0x00,
|
||||
0x00, 0xff, 0xff, 0x0d, 0x71, 0xfb, 0x47, 0x98, 0x02, 0x00, 0x00,
|
||||
0x10, 0xc6, 0x09, 0x8a, 0x87, 0x2d, 0x82, 0x5d, 0x15, 0x4a, 0xf0, 0x4f, 0x5b, 0x7b, 0x4e, 0x40,
|
||||
0xdf, 0xc0, 0x9b, 0x07, 0xa1, 0x44, 0xbd, 0x78, 0x91, 0x64, 0x33, 0xda, 0xa5, 0xc9, 0xce, 0xba,
|
||||
0x3b, 0x5b, 0xe8, 0xc9, 0x9b, 0xa0, 0x8f, 0xe3, 0x13, 0x4a, 0x93, 0x26, 0xdd, 0x56, 0x14, 0x7b,
|
||||
0x9c, 0xdf, 0x37, 0xf3, 0x7d, 0x99, 0xc9, 0xb2, 0x63, 0xa3, 0x45, 0xac, 0x53, 0x43, 0x52, 0x48,
|
||||
0x9d, 0x2a, 0x8a, 0xb4, 0x41, 0x42, 0xbe, 0x63, 0xb4, 0x08, 0xf7, 0x51, 0x93, 0x44, 0x65, 0x6b,
|
||||
0x16, 0x1e, 0x15, 0x72, 0x06, 0x53, 0x49, 0x4f, 0x25, 0xe6, 0x50, 0x34, 0x94, 0x37, 0xd4, 0x20,
|
||||
0x96, 0x35, 0xbb, 0xfc, 0xdc, 0x65, 0x9d, 0xf1, 0xca, 0x93, 0xbf, 0xb1, 0x6e, 0x02, 0x25, 0xce,
|
||||
0xc0, 0x87, 0xfd, 0x68, 0x39, 0x19, 0x25, 0x88, 0xa5, 0xa7, 0xdc, 0xe4, 0xa0, 0x48, 0xd2, 0x3c,
|
||||
0x1c, 0xae, 0x3a, 0x36, 0xa7, 0x13, 0xb0, 0x1a, 0x95, 0x85, 0xe1, 0xe8, 0xeb, 0x23, 0xe8, 0x1f,
|
||||
0x04, 0xe1, 0x09, 0xeb, 0x78, 0x5b, 0x70, 0xbf, 0xe8, 0x05, 0x7c, 0xce, 0xf8, 0xad, 0x23, 0x18,
|
||||
0xbb, 0xac, 0x90, 0x76, 0x02, 0xf9, 0xbd, 0x49, 0xc5, 0x94, 0x9f, 0xb6, 0xfe, 0x0b, 0x71, 0xf1,
|
||||
0x15, 0x15, 0x4f, 0xe0, 0xd5, 0x81, 0xa5, 0xf0, 0xec, 0x37, 0x79, 0xab, 0xe8, 0x19, 0xeb, 0x3e,
|
||||
0xe8, 0x3c, 0xa5, 0xb5, 0xdd, 0x07, 0xad, 0xf5, 0x0f, 0xad, 0x49, 0xef, 0xb5, 0x2d, 0xfe, 0x69,
|
||||
0xd4, 0x33, 0xfe, 0x33, 0xf7, 0x3d, 0x60, 0x87, 0xb5, 0xf9, 0x9d, 0xcb, 0xac, 0x30, 0xb2, 0xfe,
|
||||
0x97, 0xfc, 0x62, 0x23, 0x7a, 0x4d, 0x6d, 0xc2, 0x47, 0x7f, 0x37, 0x6d, 0x73, 0x80, 0xeb, 0xc1,
|
||||
0xe3, 0xf9, 0x8b, 0xa4, 0x89, 0xcb, 0x22, 0x81, 0x65, 0xbc, 0xf4, 0x8d, 0xab, 0x87, 0x22, 0xb0,
|
||||
0x88, 0x8d, 0x16, 0xd9, 0x5e, 0x55, 0x5d, 0x7d, 0x07, 0x00, 0x00, 0xff, 0xff, 0xc7, 0xd9, 0xcf,
|
||||
0x9a, 0x8d, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -61,10 +61,9 @@ var file_rpc_room_proto_rawDesc = []byte{
|
||||
0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65,
|
||||
0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x22, 0x16, 0xb2, 0x89, 0x01, 0x12, 0x10, 0x01,
|
||||
0x1a, 0x0e, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 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,
|
||||
0x42, 0x21, 0x5a, 0x1f, 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,
|
||||
0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var file_rpc_room_proto_goTypes = []interface{}{
|
||||
|
||||
@@ -181,7 +181,7 @@ func (s *roomServer[RoomTopicType]) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor6 = []byte{
|
||||
// 237 bytes of a gzipped FileDescriptorProto
|
||||
// 230 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0x2a, 0x48, 0xd6,
|
||||
0x2f, 0xca, 0xcf, 0xcf, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x2e, 0x2a, 0x48, 0x96,
|
||||
0xe2, 0xcd, 0x2f, 0x28, 0xc9, 0xcc, 0xcf, 0x2b, 0x86, 0x88, 0x49, 0x89, 0xe4, 0x64, 0x96, 0xa5,
|
||||
@@ -193,8 +193,8 @@ var psrpcFileDescriptor6 = []byte{
|
||||
0x50, 0x38, 0x17, 0x47, 0x70, 0x6a, 0x5e, 0x8a, 0x4b, 0x62, 0x49, 0xa2, 0x90, 0x04, 0xdc, 0x00,
|
||||
0x98, 0x10, 0xcc, 0x68, 0x49, 0x2c, 0x32, 0x04, 0x0c, 0x8e, 0xe7, 0x12, 0x0a, 0x2d, 0x48, 0x49,
|
||||
0x84, 0x38, 0xc3, 0x37, 0xb5, 0x24, 0x31, 0x05, 0x64, 0x85, 0x12, 0xdc, 0x20, 0x4c, 0x49, 0x98,
|
||||
0x65, 0xbc, 0x70, 0x35, 0x20, 0x59, 0x5c, 0x16, 0x38, 0xe9, 0x44, 0x69, 0xa5, 0x67, 0x96, 0x64,
|
||||
0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x43, 0xb5, 0xc0, 0xe9, 0x82, 0xec, 0x74, 0xfd, 0xe2,
|
||||
0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0x54, 0xfd, 0xa2, 0x82, 0xe4, 0x24, 0x36, 0x70, 0xb0, 0x1a, 0x03,
|
||||
0x02, 0x00, 0x00, 0xff, 0xff, 0x53, 0xa6, 0x88, 0x04, 0xa6, 0x01, 0x00, 0x00,
|
||||
0x65, 0xbc, 0x70, 0x35, 0x20, 0x59, 0x5c, 0x16, 0x38, 0x29, 0x46, 0xc9, 0xa7, 0x67, 0x96, 0x64,
|
||||
0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x43, 0xb5, 0xe8, 0x83, 0x43, 0x2f, 0x39, 0x3f, 0x47,
|
||||
0xbf, 0xa8, 0x20, 0x39, 0x89, 0x0d, 0xcc, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x87,
|
||||
0xc0, 0x3a, 0x9b, 0x01, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -202,11 +202,10 @@ var file_rpc_signal_proto_rawDesc = []byte{
|
||||
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x17, 0xb2, 0x89, 0x01, 0x13, 0x10, 0x01, 0x1a, 0x0d, 0x12, 0x07, 0x6e, 0x6f,
|
||||
0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x20, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67,
|
||||
0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x20, 0x01, 0x42, 0x21, 0x5a, 0x1f, 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,
|
||||
0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -121,25 +121,25 @@ func (s *signalServer[NodeIdTopicType]) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor7 = []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,
|
||||
0x26, 0x6b, 0xbc, 0x78, 0xf4, 0x11, 0xca, 0x49, 0x2f, 0x04, 0xca, 0x04, 0x1b, 0xd6, 0xb6, 0x74,
|
||||
0x0a, 0x89, 0x8f, 0xe0, 0xbb, 0x78, 0xf2, 0x09, 0x0d, 0x94, 0x3f, 0x6b, 0xf0, 0xb4, 0x33, 0xf3,
|
||||
0x7d, 0xfb, 0xfd, 0x26, 0x53, 0xda, 0xf3, 0x4e, 0x15, 0xa8, 0x17, 0x66, 0x5a, 0x09, 0xe7, 0x6d,
|
||||
0xb0, 0x2c, 0xf1, 0x4e, 0xa5, 0x5d, 0xeb, 0x82, 0xb6, 0x06, 0xe3, 0x2c, 0x1d, 0x54, 0x7a, 0x03,
|
||||
0x4b, 0x1d, 0x26, 0xda, 0x04, 0xf0, 0x47, 0x6f, 0x7a, 0x73, 0x98, 0xfb, 0xa0, 0xe2, 0x68, 0xf4,
|
||||
0x4d, 0x28, 0x93, 0x50, 0x4d, 0x3f, 0xc7, 0xbb, 0x50, 0x09, 0xab, 0x35, 0x60, 0x60, 0xcf, 0xb4,
|
||||
0x8b, 0x61, 0xea, 0xc3, 0x04, 0x01, 0x51, 0x5b, 0xc3, 0x49, 0x46, 0xf2, 0x4e, 0x79, 0x27, 0xf6,
|
||||
0x09, 0x62, 0xbc, 0x55, 0xc7, 0x51, 0x94, 0xd7, 0x58, 0xeb, 0x58, 0x49, 0xdb, 0x3e, 0xc6, 0x20,
|
||||
0x4f, 0xb2, 0x24, 0xef, 0x94, 0x83, 0xd3, 0x6f, 0x75, 0x8a, 0x3c, 0xfa, 0x58, 0x8f, 0x26, 0x08,
|
||||
0x2b, 0xde, 0xc8, 0x48, 0xde, 0x90, 0xdb, 0x92, 0xdd, 0xd2, 0xa6, 0xaa, 0x2c, 0x02, 0x6f, 0x66,
|
||||
0x24, 0x6f, 0xcb, 0xd8, 0x8c, 0x02, 0xed, 0xff, 0xd9, 0x16, 0x9d, 0x35, 0x08, 0xec, 0x89, 0x5e,
|
||||
0xf9, 0x7d, 0x8d, 0xfc, 0x62, 0xc7, 0x1c, 0x9e, 0x31, 0xa3, 0x2e, 0x4f, 0xce, 0x03, 0x35, 0xf9,
|
||||
0x87, 0xda, 0xa8, 0x51, 0x4b, 0x45, 0x5b, 0x31, 0x84, 0xbd, 0xd2, 0x4e, 0x8d, 0xcf, 0x86, 0xc2,
|
||||
0x3b, 0x25, 0xce, 0xef, 0x97, 0xf2, 0x73, 0x21, 0x42, 0x47, 0xc3, 0x9f, 0x2f, 0xd2, 0xef, 0x91,
|
||||
0xb4, 0xcb, 0x2e, 0x8d, 0x9d, 0xc3, 0x44, 0xcf, 0xb7, 0xb7, 0xcd, 0xc8, 0xcb, 0xc3, 0xdb, 0xfd,
|
||||
0x42, 0x87, 0xf7, 0xf5, 0x4c, 0x28, 0xfb, 0x51, 0xec, 0x97, 0x3f, 0x7e, 0xdd, 0x72, 0x51, 0x20,
|
||||
0xf8, 0x8d, 0x56, 0x50, 0x78, 0xa7, 0x66, 0xad, 0xdd, 0xf3, 0x3d, 0xfe, 0x06, 0x00, 0x00, 0xff,
|
||||
0xff, 0x44, 0x2f, 0x12, 0x62, 0x11, 0x02, 0x00, 0x00,
|
||||
// 307 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xb1, 0x4e, 0xc3, 0x30,
|
||||
0x10, 0x86, 0x65, 0xd2, 0x96, 0xe2, 0x52, 0xa9, 0xb8, 0xd0, 0x5a, 0x59, 0x08, 0x9d, 0x32, 0x39,
|
||||
0x52, 0x10, 0x0b, 0x23, 0x8f, 0xe0, 0x4e, 0xb0, 0x54, 0xa9, 0x6b, 0x15, 0x8b, 0x60, 0xbb, 0x3e,
|
||||
0x17, 0x89, 0x47, 0xe0, 0x5d, 0x98, 0x78, 0x42, 0x94, 0x38, 0x6d, 0x83, 0xc2, 0x76, 0x77, 0xff,
|
||||
0xef, 0xff, 0x3b, 0x9d, 0xf1, 0xc4, 0x59, 0x91, 0x81, 0xda, 0xea, 0xa2, 0x64, 0xd6, 0x19, 0x6f,
|
||||
0x48, 0xe4, 0xac, 0x88, 0xc7, 0xc6, 0x7a, 0x65, 0x34, 0x84, 0x59, 0x3c, 0x2b, 0xd5, 0x87, 0x7c,
|
||||
0x53, 0x7e, 0xa5, 0xb4, 0x97, 0xee, 0xe8, 0x8d, 0xaf, 0x0e, 0x73, 0xe7, 0x45, 0x18, 0x2d, 0xbe,
|
||||
0x11, 0x26, 0x5c, 0x96, 0xc5, 0xe7, 0xb2, 0x0e, 0xe5, 0x72, 0xb7, 0x97, 0xe0, 0xc9, 0x23, 0x1e,
|
||||
0x83, 0x2f, 0x9c, 0x5f, 0x81, 0x04, 0x50, 0x46, 0x53, 0x94, 0xa0, 0x74, 0x94, 0xdf, 0xb0, 0x26,
|
||||
0x81, 0x2d, 0x2b, 0x75, 0x19, 0x44, 0x7e, 0x09, 0xad, 0x8e, 0xe4, 0x78, 0xe8, 0x42, 0x0c, 0xd0,
|
||||
0x28, 0x89, 0xd2, 0x51, 0x3e, 0x3b, 0x3d, 0x6b, 0x53, 0xf8, 0xd1, 0x47, 0x26, 0x38, 0x02, 0xb9,
|
||||
0xa3, 0xbd, 0x04, 0xa5, 0x3d, 0x5e, 0x95, 0xe4, 0x1a, 0xf7, 0x45, 0x69, 0x40, 0xd2, 0x7e, 0x82,
|
||||
0xd2, 0x21, 0x0f, 0xcd, 0xc2, 0xe3, 0xe9, 0x9f, 0x6d, 0xc1, 0x1a, 0x0d, 0x92, 0x3c, 0xe0, 0x0b,
|
||||
0xd7, 0xd4, 0x40, 0xcf, 0x6a, 0xe6, 0xbc, 0xc3, 0x0c, 0x3a, 0x3f, 0x39, 0x0f, 0xd4, 0xe8, 0x1f,
|
||||
0x6a, 0xaf, 0x45, 0xcd, 0x05, 0x1e, 0x84, 0x10, 0xf2, 0x8c, 0x47, 0x2d, 0x3e, 0x99, 0x33, 0x67,
|
||||
0x05, 0xeb, 0xde, 0x2f, 0xa6, 0x5d, 0x21, 0x40, 0x17, 0xf3, 0x9f, 0x2f, 0x34, 0x9d, 0xa0, 0x78,
|
||||
0x4c, 0xce, 0xb5, 0xd9, 0xc8, 0x95, 0xda, 0x54, 0xb7, 0x4d, 0xd0, 0xd3, 0xdd, 0xcb, 0xed, 0x56,
|
||||
0xf9, 0xd7, 0xfd, 0x9a, 0x09, 0xf3, 0x9e, 0x35, 0xcb, 0x67, 0xf5, 0x2f, 0x09, 0x53, 0x66, 0xce,
|
||||
0x8a, 0xf5, 0xa0, 0xee, 0xee, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x18, 0x2b, 0x54, 0xdb, 0x06,
|
||||
0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -57,6 +57,8 @@ type InternalCreateSIPParticipantRequest struct {
|
||||
// Optionally send following DTMF digits (extension codes) when making a call.
|
||||
// Character 'w' can be used to add a 0.5 sec delay.
|
||||
Dtmf string `protobuf:"bytes,11,opt,name=dtmf,proto3" json:"dtmf,omitempty"`
|
||||
// Optionally play ringtone in the room as an audible indicator for existing participants
|
||||
PlayRingtone bool `protobuf:"varint,12,opt,name=play_ringtone,json=playRingtone,proto3" json:"play_ringtone,omitempty"`
|
||||
}
|
||||
|
||||
func (x *InternalCreateSIPParticipantRequest) Reset() {
|
||||
@@ -161,6 +163,13 @@ func (x *InternalCreateSIPParticipantRequest) GetDtmf() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *InternalCreateSIPParticipantRequest) GetPlayRingtone() bool {
|
||||
if x != nil {
|
||||
return x.PlayRingtone
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type InternalCreateSIPParticipantResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -221,7 +230,7 @@ var File_rpc_sip_proto protoreflect.FileDescriptor
|
||||
var file_rpc_sip_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x03, 0x72, 0x70, 0x63, 0x1a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
|
||||
0x6f, 0x74, 0x6f, 0x22, 0xde, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
|
||||
0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
|
||||
@@ -240,27 +249,29 @@ var file_rpc_sip_proto_rawDesc = []byte{
|
||||
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x77, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64,
|
||||
0x74, 0x6d, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x22,
|
||||
0x80, 0x01, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12,
|
||||
0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
|
||||
0x74, 0x79, 0x32, 0x84, 0x01, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
|
||||
0x61, 0x6c, 0x12, 0x75, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
|
||||
0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72,
|
||||
0x6e, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74,
|
||||
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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,
|
||||
0x74, 0x6d, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12,
|
||||
0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65,
|
||||
0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x69, 0x6e, 0x67,
|
||||
0x74, 0x6f, 0x6e, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
|
||||
0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
|
||||
0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
|
||||
0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
|
||||
0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49,
|
||||
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x32, 0x84, 0x01, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x49,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x75, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12,
|
||||
0x28, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
|
||||
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x70, 0x63, 0x2e,
|
||||
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49,
|
||||
0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0xb2, 0x89, 0x01, 0x04, 0x10, 0x01, 0x30, 0x01, 0x42, 0x21,
|
||||
0x5a, 0x1f, 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, 0x72, 0x70,
|
||||
0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -122,29 +122,30 @@ func (s *sIPInternalServer) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor8 = []byte{
|
||||
// 374 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x6f, 0xda, 0x30,
|
||||
0x18, 0xc6, 0x65, 0xfe, 0x04, 0x78, 0x11, 0xd3, 0xe4, 0xb1, 0xcd, 0x62, 0x97, 0x89, 0x6d, 0x12,
|
||||
0x9b, 0xa6, 0xa4, 0x7f, 0xbe, 0x40, 0xd5, 0x9e, 0x72, 0xa9, 0x10, 0xb4, 0x97, 0x5e, 0xa2, 0xe0,
|
||||
0xb8, 0xd4, 0x22, 0xb1, 0x5d, 0xdb, 0x21, 0xea, 0xad, 0xa7, 0x4a, 0xfd, 0x3a, 0xbd, 0xf5, 0xdb,
|
||||
0x55, 0x71, 0x80, 0x16, 0xa9, 0x54, 0x9c, 0x92, 0xe7, 0xf9, 0xbd, 0xaf, 0xfd, 0xbc, 0xb6, 0xa1,
|
||||
0xa7, 0x15, 0x0d, 0x0c, 0x57, 0xbe, 0xd2, 0xd2, 0x4a, 0x5c, 0xd7, 0x8a, 0x0e, 0x7a, 0x52, 0x59,
|
||||
0x2e, 0x85, 0xa9, 0xbc, 0xe1, 0x73, 0x0d, 0x7e, 0x85, 0xc2, 0x32, 0x2d, 0xe2, 0xf4, 0x4c, 0xb3,
|
||||
0xd8, 0xb2, 0x69, 0x38, 0x1e, 0xc7, 0xda, 0x72, 0xca, 0x55, 0x2c, 0xec, 0x84, 0xdd, 0xe6, 0xcc,
|
||||
0x58, 0x4c, 0xa0, 0x15, 0x27, 0x89, 0x66, 0xc6, 0x90, 0xda, 0x4f, 0x34, 0xea, 0x4c, 0xd6, 0x12,
|
||||
0x7f, 0x03, 0x4f, 0xe4, 0xd9, 0x8c, 0x69, 0x52, 0x77, 0x60, 0xa5, 0xf0, 0x77, 0x68, 0xd1, 0x38,
|
||||
0x4d, 0x23, 0x2b, 0x49, 0xa3, 0x02, 0xa5, 0xbc, 0x90, 0x78, 0x00, 0xed, 0xdc, 0x94, 0x1b, 0x66,
|
||||
0x8c, 0x34, 0x1d, 0xd9, 0xe8, 0x92, 0xa9, 0xd8, 0x98, 0x42, 0xea, 0x84, 0x78, 0x15, 0x5b, 0x6b,
|
||||
0xfc, 0x03, 0x3a, 0x5a, 0xca, 0x2c, 0x72, 0x8d, 0xad, 0x0a, 0x96, 0xc6, 0x79, 0xd9, 0x78, 0x08,
|
||||
0x7d, 0xf5, 0x9a, 0x3a, 0xe2, 0x09, 0x13, 0x96, 0xdb, 0x3b, 0xd2, 0x76, 0x75, 0x5f, 0xde, 0xb0,
|
||||
0x70, 0x85, 0x70, 0x1f, 0x9a, 0x56, 0x2e, 0x98, 0x20, 0x1d, 0x57, 0x53, 0x09, 0xfc, 0x15, 0xbc,
|
||||
0xc2, 0x44, 0xb9, 0x4e, 0x09, 0x54, 0x76, 0x61, 0x2e, 0x75, 0x8a, 0x31, 0x34, 0x12, 0x9b, 0x5d,
|
||||
0x93, 0xae, 0x33, 0xdd, 0xff, 0xf0, 0x1e, 0xc1, 0xef, 0x8f, 0xcf, 0xce, 0x28, 0x29, 0x0c, 0xc3,
|
||||
0x7f, 0xe0, 0xd3, 0x76, 0x38, 0x82, 0xdc, 0x32, 0xbd, 0xad, 0x58, 0x3b, 0x67, 0xa8, 0xed, 0x9c,
|
||||
0xe1, 0xe8, 0x01, 0x41, 0x77, 0x1a, 0x8e, 0xd7, 0x29, 0x70, 0x01, 0xfd, 0xf7, 0x92, 0xe0, 0x91,
|
||||
0xaf, 0x15, 0xf5, 0xf7, 0xb8, 0xe8, 0xc1, 0xdf, 0x3d, 0x2a, 0xab, 0xb1, 0x86, 0xf0, 0xf4, 0x88,
|
||||
0xbc, 0xcf, 0xe8, 0x04, 0x1d, 0xa0, 0xd3, 0xff, 0x57, 0xff, 0xe6, 0xdc, 0xde, 0xe4, 0x33, 0x9f,
|
||||
0xca, 0x2c, 0x48, 0xf9, 0x92, 0x2d, 0xb8, 0xdd, 0x7c, 0xd5, 0x62, 0x1e, 0x18, 0xa6, 0x97, 0x9c,
|
||||
0xb2, 0x40, 0x2b, 0x3a, 0xf3, 0xdc, 0xe3, 0x3b, 0x7e, 0x09, 0x00, 0x00, 0xff, 0xff, 0x83, 0x4e,
|
||||
0x8f, 0x5b, 0xa1, 0x02, 0x00, 0x00,
|
||||
// 389 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xbf, 0xce, 0xd3, 0x30,
|
||||
0x14, 0xc5, 0xe5, 0x7e, 0xdf, 0x97, 0xb6, 0xb7, 0x0d, 0x42, 0xa6, 0x80, 0x55, 0x06, 0x4a, 0x0b,
|
||||
0x52, 0x59, 0x12, 0xfe, 0xbc, 0x00, 0x82, 0x29, 0x0b, 0xaa, 0x52, 0x58, 0x58, 0x22, 0xd7, 0x31,
|
||||
0xc5, 0xaa, 0x63, 0x1b, 0xdb, 0x21, 0xea, 0xc6, 0x84, 0xc4, 0xeb, 0xf0, 0x40, 0x3c, 0x0b, 0x8a,
|
||||
0xd3, 0x02, 0x95, 0x28, 0xea, 0x96, 0x73, 0x7e, 0xd7, 0xba, 0xe7, 0x44, 0x17, 0x62, 0x6b, 0x58,
|
||||
0xea, 0x84, 0x49, 0x8c, 0xd5, 0x5e, 0xe3, 0x2b, 0x6b, 0xd8, 0x34, 0xd6, 0xc6, 0x0b, 0xad, 0x5c,
|
||||
0xe7, 0xcd, 0x7f, 0xf6, 0x60, 0x91, 0x29, 0xcf, 0xad, 0xa2, 0xf2, 0x8d, 0xe5, 0xd4, 0xf3, 0x75,
|
||||
0xb6, 0x5a, 0x51, 0xeb, 0x05, 0x13, 0x86, 0x2a, 0x9f, 0xf3, 0xcf, 0x35, 0x77, 0x1e, 0x13, 0xe8,
|
||||
0xd3, 0xb2, 0xb4, 0xdc, 0x39, 0xd2, 0x9b, 0xa1, 0xe5, 0x30, 0x3f, 0x4a, 0x7c, 0x0f, 0x22, 0x55,
|
||||
0x57, 0x1b, 0x6e, 0xc9, 0x55, 0x00, 0x07, 0x85, 0xef, 0x43, 0x9f, 0x51, 0x29, 0x0b, 0xaf, 0xc9,
|
||||
0x75, 0x07, 0x5a, 0xf9, 0x4e, 0xe3, 0x29, 0x0c, 0x6a, 0xd7, 0x2e, 0xac, 0x38, 0xb9, 0x09, 0xe4,
|
||||
0xb7, 0x6e, 0x99, 0xa1, 0xce, 0x35, 0xda, 0x96, 0x24, 0xea, 0xd8, 0x51, 0xe3, 0x07, 0x30, 0xb4,
|
||||
0x5a, 0x57, 0x45, 0x78, 0xd8, 0xef, 0x60, 0x6b, 0xbc, 0x6d, 0x1f, 0x3e, 0x87, 0x89, 0xf9, 0x93,
|
||||
0xba, 0x10, 0x25, 0x57, 0x5e, 0xf8, 0x3d, 0x19, 0x84, 0xb9, 0x3b, 0x7f, 0xb1, 0xec, 0x80, 0xf0,
|
||||
0x04, 0x6e, 0xbc, 0xde, 0x71, 0x45, 0x86, 0x61, 0xa6, 0x13, 0xf8, 0x2e, 0x44, 0x8d, 0x2b, 0x6a,
|
||||
0x2b, 0x09, 0x74, 0x76, 0xe3, 0xde, 0x5b, 0x89, 0x31, 0x5c, 0x97, 0xbe, 0xfa, 0x48, 0x46, 0xc1,
|
||||
0x0c, 0xdf, 0x78, 0x01, 0xb1, 0x91, 0x74, 0x5f, 0x58, 0xa1, 0xb6, 0x5e, 0x2b, 0x4e, 0xc6, 0x33,
|
||||
0xb4, 0x1c, 0xe4, 0xe3, 0xd6, 0xcc, 0x0f, 0xde, 0xfc, 0x2b, 0x82, 0xc7, 0xff, 0xff, 0xc1, 0xce,
|
||||
0x68, 0xe5, 0x38, 0x7e, 0x02, 0xb7, 0x4e, 0x1b, 0x10, 0x14, 0x76, 0xc5, 0x27, 0xd9, 0xcf, 0x16,
|
||||
0xed, 0x9d, 0x2d, 0xfa, 0xe2, 0x1b, 0x82, 0xd1, 0x3a, 0x5b, 0x1d, 0x53, 0xe0, 0x06, 0x26, 0xff,
|
||||
0x4a, 0x82, 0x97, 0x89, 0x35, 0x2c, 0xb9, 0xe0, 0x1a, 0xa6, 0x4f, 0x2f, 0x98, 0xec, 0x6a, 0xcd,
|
||||
0xe1, 0xc7, 0x77, 0x14, 0xdd, 0x46, 0xaf, 0xd0, 0x33, 0xf4, 0xfa, 0xd1, 0x87, 0x87, 0x5b, 0xe1,
|
||||
0x3f, 0xd5, 0x9b, 0x84, 0xe9, 0x2a, 0x95, 0xe2, 0x0b, 0xdf, 0x09, 0x9f, 0x86, 0x43, 0x64, 0x5a,
|
||||
0xa6, 0xd6, 0xb0, 0x4d, 0x14, 0xd4, 0xcb, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x20, 0xef, 0x65,
|
||||
0xcf, 0xbb, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -61,22 +61,22 @@ func NewClientParams(
|
||||
}
|
||||
}
|
||||
|
||||
func clientOptions(params ClientParams) []psrpc.ClientOption {
|
||||
func (p *ClientParams) Options() []psrpc.ClientOption {
|
||||
opts := make([]psrpc.ClientOption, 0, 4)
|
||||
if params.BufferSize != 0 {
|
||||
opts = append(opts, psrpc.WithClientChannelSize(params.BufferSize))
|
||||
if p.BufferSize != 0 {
|
||||
opts = append(opts, psrpc.WithClientChannelSize(p.BufferSize))
|
||||
}
|
||||
if params.Observer != nil {
|
||||
opts = append(opts, middleware.WithClientMetrics(params.Observer))
|
||||
if p.Observer != nil {
|
||||
opts = append(opts, middleware.WithClientMetrics(p.Observer))
|
||||
}
|
||||
if params.Logger != nil {
|
||||
opts = append(opts, WithClientLogger(params.Logger))
|
||||
if p.Logger != nil {
|
||||
opts = append(opts, WithClientLogger(p.Logger))
|
||||
}
|
||||
if params.MaxAttempts != 0 || params.Timeout != 0 || params.Backoff != 0 {
|
||||
if p.MaxAttempts != 0 || p.Timeout != 0 || p.Backoff != 0 {
|
||||
opts = append(opts, middleware.WithRPCRetries(middleware.RetryOptions{
|
||||
MaxAttempts: params.MaxAttempts,
|
||||
Timeout: params.Timeout,
|
||||
Backoff: params.Backoff,
|
||||
MaxAttempts: p.MaxAttempts,
|
||||
Timeout: p.Timeout,
|
||||
Backoff: p.Backoff,
|
||||
}))
|
||||
}
|
||||
return opts
|
||||
@@ -130,7 +130,7 @@ type TypedRoomClient = RoomClient[RoomTopic]
|
||||
type TypedRoomServer = RoomServer[RoomTopic]
|
||||
|
||||
func NewTypedRoomClient(params ClientParams) (TypedRoomClient, error) {
|
||||
return NewRoomClient[RoomTopic](params.Bus, clientOptions(params)...)
|
||||
return NewRoomClient[RoomTopic](params.Bus, params.Options()...)
|
||||
}
|
||||
|
||||
func NewTypedRoomServer(svc RoomServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (TypedRoomServer, error) {
|
||||
@@ -142,7 +142,7 @@ type TypedParticipantClient = ParticipantClient[ParticipantTopic]
|
||||
type TypedParticipantServer = ParticipantServer[ParticipantTopic]
|
||||
|
||||
func NewTypedParticipantClient(params ClientParams) (TypedParticipantClient, error) {
|
||||
return NewParticipantClient[ParticipantTopic](params.Bus, clientOptions(params)...)
|
||||
return NewParticipantClient[ParticipantTopic](params.Bus, params.Options()...)
|
||||
}
|
||||
|
||||
func NewTypedParticipantServer(svc ParticipantServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (TypedParticipantServer, error) {
|
||||
@@ -161,7 +161,7 @@ type keepalivePubSub struct {
|
||||
}
|
||||
|
||||
func NewKeepalivePubSub(params ClientParams) (KeepalivePubSub, error) {
|
||||
client, err := NewKeepaliveClient[livekit.NodeID](params.Bus, clientOptions(params)...)
|
||||
client, err := NewKeepaliveClient[livekit.NodeID](params.Bus, params.Options()...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
30
utils/clock.go
Normal file
30
utils/clock.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/benbjohnson/clock"
|
||||
)
|
||||
|
||||
type Clock interface {
|
||||
Now() time.Time
|
||||
Sleep(time.Duration)
|
||||
}
|
||||
|
||||
type SystemClock struct{}
|
||||
|
||||
var _ Clock = &SystemClock{}
|
||||
|
||||
func (SystemClock) Now() time.Time {
|
||||
return time.Now()
|
||||
}
|
||||
|
||||
func (SystemClock) Sleep(d time.Duration) {
|
||||
time.Sleep(d)
|
||||
}
|
||||
|
||||
type SimulatedClock struct {
|
||||
clock.Mock
|
||||
}
|
||||
|
||||
var _ Clock = &SimulatedClock{}
|
||||
71
utils/hedge.go
Normal file
71
utils/hedge.go
Normal file
@@ -0,0 +1,71 @@
|
||||
// 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.
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"go.uber.org/multierr"
|
||||
)
|
||||
|
||||
type HedgeParams[T any] struct {
|
||||
Timeout time.Duration
|
||||
RetryDelay time.Duration
|
||||
MaxAttempts int
|
||||
IsRecoverable func(err error) bool
|
||||
Func func(context.Context) (T, error)
|
||||
}
|
||||
|
||||
// race retries if the function takes to long to return
|
||||
// |---------------- attempt 1 ----------------|
|
||||
// | delay |--------- attempt 2 ---------|
|
||||
func HedgeCall[T any](ctx context.Context, params HedgeParams[T]) (v T, err error) {
|
||||
ctx, cancel := context.WithTimeout(ctx, params.Timeout)
|
||||
defer cancel()
|
||||
|
||||
type result struct {
|
||||
value T
|
||||
err error
|
||||
}
|
||||
ch := make(chan result, params.MaxAttempts)
|
||||
|
||||
race := func() {
|
||||
value, err := params.Func(ctx)
|
||||
ch <- result{value, err}
|
||||
}
|
||||
|
||||
var attempt int
|
||||
delay := time.NewTimer(0)
|
||||
defer delay.Stop()
|
||||
|
||||
for {
|
||||
select {
|
||||
case <-delay.C:
|
||||
go race()
|
||||
if attempt++; attempt < params.MaxAttempts {
|
||||
delay.Reset(params.RetryDelay)
|
||||
}
|
||||
case res := <-ch:
|
||||
if res.err == nil || params.IsRecoverable == nil || !params.IsRecoverable(res.err) {
|
||||
return res.value, res.err
|
||||
}
|
||||
err = multierr.Append(err, res.err)
|
||||
case <-ctx.Done():
|
||||
err = multierr.Append(err, ctx.Err())
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
41
utils/hedge_test.go
Normal file
41
utils/hedge_test.go
Normal file
@@ -0,0 +1,41 @@
|
||||
// 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.
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/atomic"
|
||||
)
|
||||
|
||||
func TestHedgeCall(t *testing.T) {
|
||||
var attempts atomic.Uint32
|
||||
res, err := HedgeCall(context.Background(), HedgeParams[uint32]{
|
||||
Timeout: 200 * time.Millisecond,
|
||||
RetryDelay: 50 * time.Millisecond,
|
||||
MaxAttempts: 2,
|
||||
Func: func(context.Context) (uint32, error) {
|
||||
n := attempts.Add(1)
|
||||
time.Sleep(75 * time.Millisecond)
|
||||
return n, nil
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.EqualValues(t, 1, res)
|
||||
require.EqualValues(t, 2, attempts.Load())
|
||||
}
|
||||
111
utils/id.go
111
utils/id.go
@@ -15,14 +15,19 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"crypto/sha1"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/jxskiss/base62"
|
||||
"github.com/lithammer/shortuuid/v4"
|
||||
|
||||
"github.com/livekit/protocol/livekit"
|
||||
"github.com/livekit/protocol/logger"
|
||||
)
|
||||
|
||||
const GuidSize = 12
|
||||
@@ -41,13 +46,17 @@ const (
|
||||
WHIPResourcePrefix = "WH_"
|
||||
RTMPResourcePrefix = "RT_"
|
||||
URLResourcePrefix = "UR_"
|
||||
AgentWorkerPrefix = "AW_"
|
||||
AgentJobPrefix = "AJ_"
|
||||
)
|
||||
|
||||
var defaultGuidGenerator = newGuidGenerator(4096, GuidSize+10)
|
||||
|
||||
func NewGuid(prefix string) string {
|
||||
return prefix + shortuuid.New()[:GuidSize]
|
||||
return defaultGuidGenerator.NewGuid(prefix)
|
||||
}
|
||||
|
||||
// Creates a hashed ID from a unique string
|
||||
// HashedID creates a hashed ID from a unique string
|
||||
func HashedID(id string) string {
|
||||
h := sha1.New()
|
||||
h.Write([]byte(id))
|
||||
@@ -64,17 +73,91 @@ func LocalNodeID() (string, error) {
|
||||
return fmt.Sprintf("%s%s", NodePrefix, HashedID(hostname)[:8]), nil
|
||||
}
|
||||
|
||||
var b62Index = newB62Index()
|
||||
var b62Chars = []byte(shortuuid.DefaultAlphabet)
|
||||
var b57Index = newB57Index()
|
||||
var b57Chars = []byte(shortuuid.DefaultAlphabet)
|
||||
|
||||
func newB62Index() [256]byte {
|
||||
func newB57Index() [256]byte {
|
||||
var index [256]byte
|
||||
for i := 0; i < len(b62Chars); i++ {
|
||||
index[b62Chars[i]] = byte(i)
|
||||
for i := 0; i < len(b57Chars); i++ {
|
||||
index[b57Chars[i]] = byte(i)
|
||||
}
|
||||
return index
|
||||
}
|
||||
|
||||
type guidGenerator struct {
|
||||
pool sync.Pool
|
||||
mu sync.Mutex
|
||||
buf []byte
|
||||
pos int
|
||||
}
|
||||
|
||||
func newGuidGenerator(bufSize, scratchSize int) *guidGenerator {
|
||||
return &guidGenerator{
|
||||
pool: sync.Pool{
|
||||
New: func() any {
|
||||
b := make([]byte, scratchSize)
|
||||
return &b
|
||||
},
|
||||
},
|
||||
buf: make([]byte, bufSize),
|
||||
pos: bufSize,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *guidGenerator) refillBuf() {
|
||||
for {
|
||||
_, err := rand.Read(g.buf)
|
||||
if err == nil {
|
||||
return
|
||||
}
|
||||
|
||||
logger.Errorw("unable to refill guid buffer", err)
|
||||
time.Sleep(time.Millisecond)
|
||||
}
|
||||
}
|
||||
|
||||
func (g *guidGenerator) uint32() uint32 {
|
||||
if g.pos == len(g.buf) {
|
||||
g.refillBuf()
|
||||
g.pos = 0
|
||||
}
|
||||
|
||||
n := binary.BigEndian.Uint32(g.buf[g.pos:])
|
||||
g.pos += 4
|
||||
|
||||
return n
|
||||
}
|
||||
|
||||
func (g *guidGenerator) readIDChars(b []byte) {
|
||||
g.mu.Lock()
|
||||
defer g.mu.Unlock()
|
||||
|
||||
var n int
|
||||
for {
|
||||
r := g.uint32()
|
||||
for i := 0; i < 5; i++ {
|
||||
if int(r&0x3f) < len(b57Chars) {
|
||||
b[n] = b57Chars[r&0x3f]
|
||||
n++
|
||||
if n == len(b) {
|
||||
return
|
||||
}
|
||||
}
|
||||
r >>= 6
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (g *guidGenerator) NewGuid(prefix string) string {
|
||||
b := g.pool.Get().(*[]byte)
|
||||
defer g.pool.Put(b)
|
||||
|
||||
*b = append((*b)[:0], make([]byte, len(prefix)+GuidSize)...)
|
||||
copy(*b, prefix)
|
||||
g.readIDChars((*b)[len(prefix):])
|
||||
return string(*b)
|
||||
}
|
||||
|
||||
func guidPrefix[T livekit.Guid]() string {
|
||||
var id T
|
||||
switch any(id).(type) {
|
||||
@@ -95,9 +178,9 @@ func MarshalGuid[T livekit.Guid](id T) livekit.GuidBlock {
|
||||
for i := 0; i < 3; i++ {
|
||||
j := i * 3
|
||||
k := i * 4
|
||||
b[j] = b62Index[idb[k]]<<2 | b62Index[idb[k+1]]>>4
|
||||
b[j+1] = b62Index[idb[k+1]]<<4 | b62Index[idb[k+2]]>>2
|
||||
b[j+2] = b62Index[idb[k+2]]<<6 | b62Index[idb[k+3]]
|
||||
b[j] = b57Index[idb[k]]<<2 | b57Index[idb[k+1]]>>4
|
||||
b[j+1] = b57Index[idb[k+1]]<<4 | b57Index[idb[k+2]]>>2
|
||||
b[j+2] = b57Index[idb[k+2]]<<6 | b57Index[idb[k+3]]
|
||||
}
|
||||
return b
|
||||
}
|
||||
@@ -110,10 +193,10 @@ func UnmarshalGuid[T livekit.Guid](b livekit.GuidBlock) T {
|
||||
for i := 0; i < 3; i++ {
|
||||
j := i * 3
|
||||
k := i * 4
|
||||
idb[k] = b62Chars[b[j]>>2]
|
||||
idb[k+1] = b62Chars[(b[j]&3)<<4|b[j+1]>>4]
|
||||
idb[k+2] = b62Chars[(b[j+1]&15)<<2|b[j+2]>>6]
|
||||
idb[k+3] = b62Chars[b[j+2]&63]
|
||||
idb[k] = b57Chars[b[j]>>2]
|
||||
idb[k+1] = b57Chars[(b[j]&3)<<4|b[j+1]>>4]
|
||||
idb[k+2] = b57Chars[(b[j+1]&15)<<2|b[j+2]>>6]
|
||||
idb[k+3] = b57Chars[b[j+2]&63]
|
||||
}
|
||||
return T(id)
|
||||
}
|
||||
|
||||
@@ -30,3 +30,13 @@ func TestMarshalUnmarshalGuid(t *testing.T) {
|
||||
require.EqualValues(t, id0, id1)
|
||||
require.EqualValues(t, b0, b1)
|
||||
}
|
||||
|
||||
func BenchmarkNewGuid(b *testing.B) {
|
||||
b.Run("new", func(b *testing.B) {
|
||||
var guid string
|
||||
for i := 0; i < b.N; i++ {
|
||||
guid = NewGuid(TrackPrefix)
|
||||
}
|
||||
_ = guid
|
||||
})
|
||||
}
|
||||
|
||||
52
utils/promise.go
Normal file
52
utils/promise.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package utils
|
||||
|
||||
var closedPromiseChan = make(chan struct{})
|
||||
|
||||
func init() {
|
||||
close(closedPromiseChan)
|
||||
}
|
||||
|
||||
type Promise[T any] struct {
|
||||
Result T
|
||||
Err error
|
||||
done chan struct{}
|
||||
}
|
||||
|
||||
func NewPromise[T any]() *Promise[T] {
|
||||
return &Promise[T]{
|
||||
done: make(chan struct{}),
|
||||
}
|
||||
}
|
||||
|
||||
func GoPromise[T any](f func() (T, error)) *Promise[T] {
|
||||
p := NewPromise[T]()
|
||||
go func() { p.Resolve(f()) }()
|
||||
return p
|
||||
}
|
||||
|
||||
func NewResolvedPromise[T any](result T, err error) *Promise[T] {
|
||||
return &Promise[T]{
|
||||
Result: result,
|
||||
Err: err,
|
||||
done: closedPromiseChan,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Promise[T]) Resolve(result T, err error) {
|
||||
p.Result = result
|
||||
p.Err = err
|
||||
close(p.done)
|
||||
}
|
||||
|
||||
func (p *Promise[T]) Done() <-chan struct{} {
|
||||
return p.done
|
||||
}
|
||||
|
||||
func (p *Promise[T]) Resolved() bool {
|
||||
select {
|
||||
case <-p.done:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
114
utils/rate.go
Normal file
114
utils/rate.go
Normal file
@@ -0,0 +1,114 @@
|
||||
// Copyright (c) 2016,2020 Uber Technologies, Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// SOURCE: https://github.com/uber-go/ratelimit/blob/main/limiter_mutexbased.go
|
||||
// EDIT: slight modification to allow setting rate limit on the fly
|
||||
// SCOPE: LeakyBucket
|
||||
package utils
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"go.uber.org/atomic"
|
||||
)
|
||||
|
||||
type LeakyBucket struct {
|
||||
mutex sync.Mutex
|
||||
last time.Time
|
||||
sleepFor time.Duration
|
||||
cfg atomic.Pointer[leakyBucketConfig]
|
||||
clock Clock
|
||||
}
|
||||
|
||||
type leakyBucketConfig struct {
|
||||
perRequest time.Duration
|
||||
maxSlack time.Duration
|
||||
}
|
||||
|
||||
// NewLeakyBucket initiates LeakyBucket with rateLimit, slack, and clock.
|
||||
//
|
||||
// rateLimit is defined as the number of request per second.
|
||||
//
|
||||
// slack is defined as the number of allowed requests before limiting.
|
||||
// e.g. when slack=5, LeakyBucket will allow 5 requests to pass through Take
|
||||
// without a sleep as long as these requests are under perRequest duration.
|
||||
func NewLeakyBucket(rateLimit int, slack int, clock Clock) *LeakyBucket {
|
||||
var lb LeakyBucket
|
||||
lb.clock = clock
|
||||
lb.Update(rateLimit, slack)
|
||||
return &lb
|
||||
}
|
||||
|
||||
// Update sets the underlying rate limit and slack.
|
||||
// The setting may not be applied immediately.
|
||||
//
|
||||
// Update is THREAD SAFE and NON-BLOCKING.
|
||||
func (lb *LeakyBucket) Update(rateLimit int, slack int) {
|
||||
perRequest := time.Second / time.Duration(rateLimit)
|
||||
maxSlack := -1 * time.Duration(slack) * perRequest
|
||||
cfg := leakyBucketConfig{
|
||||
perRequest: perRequest,
|
||||
maxSlack: maxSlack,
|
||||
}
|
||||
lb.cfg.Store(&cfg)
|
||||
}
|
||||
|
||||
// Take blocks to ensure that the time spent between multiple Take calls
|
||||
// is on average time.Second/rate.
|
||||
//
|
||||
// Take is THREAD SAFE and BLOCKING.
|
||||
func (lb *LeakyBucket) Take() time.Time {
|
||||
lb.mutex.Lock()
|
||||
defer lb.mutex.Unlock()
|
||||
|
||||
cfg := lb.cfg.Load()
|
||||
now := lb.clock.Now()
|
||||
|
||||
// If this is our first request, then we allow it.
|
||||
if lb.last.IsZero() {
|
||||
lb.last = now
|
||||
return lb.last
|
||||
}
|
||||
|
||||
// sleepFor calculates how much time we should sleep based on
|
||||
// the perRequest budget and how long the last request took.
|
||||
// Since the request may take longer than the budget, this number
|
||||
// can get negative, and is summed across requests.
|
||||
lb.sleepFor += cfg.perRequest - now.Sub(lb.last)
|
||||
|
||||
// We shouldn't allow sleepFor to get too negative, since it would mean that
|
||||
// a service that slowed down a lot for a short period of time would get
|
||||
// a much higher RPS following that.
|
||||
if lb.sleepFor < cfg.maxSlack {
|
||||
lb.sleepFor = cfg.maxSlack
|
||||
}
|
||||
|
||||
// If sleepFor is positive, then we should sleep now.
|
||||
if lb.sleepFor > 0 {
|
||||
lb.clock.Sleep(lb.sleepFor)
|
||||
lb.last = now.Add(lb.sleepFor)
|
||||
lb.sleepFor = 0
|
||||
} else {
|
||||
lb.last = now
|
||||
}
|
||||
|
||||
return lb.last
|
||||
}
|
||||
531
utils/rate_test.go
Normal file
531
utils/rate_test.go
Normal file
@@ -0,0 +1,531 @@
|
||||
// Copyright (c) 2016,2020 Uber Technologies, Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// SOURCE: https://github.com/uber-go/ratelimit/blob/main/ratelimit_test.go
|
||||
// EDIT: slight modification to allow setting rate limit on the fly
|
||||
// SCOPE: LeakyBucket
|
||||
package utils
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"go.uber.org/atomic"
|
||||
|
||||
"github.com/benbjohnson/clock"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
const UnstableTest = "UNSTABLE TEST"
|
||||
|
||||
// options from upstream, but stripped these
|
||||
// Note: This file is inspired by:
|
||||
// https://github.com/prashantv/go-bench/blob/master/ratelimit
|
||||
|
||||
// Limiter is used to rate-limit some process, possibly across goroutines.
|
||||
// The process is expected to call Take() before every iteration, which
|
||||
// may block to throttle the goroutine.
|
||||
type Limiter interface {
|
||||
// Take should block to make sure that the RPS is met.
|
||||
Take() time.Time
|
||||
}
|
||||
|
||||
// config configures a limiter.
|
||||
type config struct {
|
||||
clock Clock
|
||||
slack int
|
||||
per time.Duration
|
||||
}
|
||||
|
||||
// buildConfig combines defaults with options.
|
||||
func buildConfig(opts []Option) config {
|
||||
c := config{
|
||||
clock: clock.New(),
|
||||
slack: 10,
|
||||
per: time.Second,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt.apply(&c)
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
// Option configures a Limiter.
|
||||
type Option interface {
|
||||
apply(*config)
|
||||
}
|
||||
|
||||
type clockOption struct {
|
||||
clock Clock
|
||||
}
|
||||
|
||||
func (o clockOption) apply(c *config) {
|
||||
c.clock = o.clock
|
||||
}
|
||||
|
||||
// WithClock returns an option for ratelimit.New that provides an alternate
|
||||
// Clock implementation, typically a mock Clock for testing.
|
||||
func WithClock(clock Clock) Option {
|
||||
return clockOption{clock: clock}
|
||||
}
|
||||
|
||||
type slackOption int
|
||||
|
||||
func (o slackOption) apply(c *config) {
|
||||
c.slack = int(o)
|
||||
}
|
||||
|
||||
// WithoutSlack configures the limiter to be strict and not to accumulate
|
||||
// previously "unspent" requests for future bursts of traffic.
|
||||
var WithoutSlack Option = slackOption(0)
|
||||
|
||||
// WithSlack configures custom slack.
|
||||
// Slack allows the limiter to accumulate "unspent" requests
|
||||
// for future bursts of traffic.
|
||||
func WithSlack(slack int) Option {
|
||||
return slackOption(slack)
|
||||
}
|
||||
|
||||
type perOption time.Duration
|
||||
|
||||
func (p perOption) apply(c *config) {
|
||||
c.per = time.Duration(p)
|
||||
}
|
||||
|
||||
// Per allows configuring limits for different time windows.
|
||||
//
|
||||
// The default window is one second, so New(100) produces a one hundred per
|
||||
// second (100 Hz) rate limiter.
|
||||
//
|
||||
// New(2, Per(60*time.Second)) creates a 2 per minute rate limiter.
|
||||
func Per(per time.Duration) Option {
|
||||
return perOption(per)
|
||||
}
|
||||
|
||||
type testRunner interface {
|
||||
// createLimiter builds a limiter with given options.
|
||||
createLimiter(int, ...Option) Limiter
|
||||
// takeOnceAfter attempts to Take at a specific time.
|
||||
takeOnceAfter(time.Duration, Limiter)
|
||||
// startTaking tries to Take() on passed in limiters in a loop/goroutine.
|
||||
startTaking(rls ...Limiter)
|
||||
// assertCountAt asserts the limiters have Taken() a number of times at the given time.
|
||||
// It's a thin wrapper around afterFunc to reduce boilerplate code.
|
||||
assertCountAt(d time.Duration, count int)
|
||||
// afterFunc executes a func at a given time.
|
||||
// not using clock.AfterFunc because andres-erbsen/clock misses a nap there.
|
||||
afterFunc(d time.Duration, fn func())
|
||||
// some tests want raw access to the clock.
|
||||
getClock() *clock.Mock
|
||||
}
|
||||
|
||||
type runnerImpl struct {
|
||||
t *testing.T
|
||||
|
||||
clock *clock.Mock
|
||||
constructor func(int, ...Option) Limiter
|
||||
count atomic.Int32
|
||||
// maxDuration is the time we need to move into the future for a test.
|
||||
// It's populated automatically based on assertCountAt/afterFunc.
|
||||
maxDuration time.Duration
|
||||
doneCh chan struct{}
|
||||
wg sync.WaitGroup
|
||||
}
|
||||
|
||||
func runTest(t *testing.T, fn func(testRunner)) {
|
||||
impls := []struct {
|
||||
name string
|
||||
constructor func(int, ...Option) Limiter
|
||||
}{
|
||||
{
|
||||
name: "mutex",
|
||||
constructor: func(rate int, opts ...Option) Limiter {
|
||||
config := buildConfig(opts)
|
||||
perRequest := config.per / time.Duration(rate)
|
||||
cfg := leakyBucketConfig{
|
||||
perRequest: perRequest,
|
||||
maxSlack: -1 * time.Duration(config.slack) * perRequest,
|
||||
}
|
||||
l := &LeakyBucket{
|
||||
clock: config.clock,
|
||||
}
|
||||
l.cfg.Store(&cfg)
|
||||
return l
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range impls {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
// Set a non-default time.Time since some limiters (int64 in particular) use
|
||||
// the default value as "non-initialized" state.
|
||||
clockMock := clock.NewMock()
|
||||
clockMock.Set(time.Now())
|
||||
r := runnerImpl{
|
||||
t: t,
|
||||
clock: clockMock,
|
||||
constructor: tt.constructor,
|
||||
doneCh: make(chan struct{}),
|
||||
}
|
||||
defer close(r.doneCh)
|
||||
defer r.wg.Wait()
|
||||
|
||||
fn(&r)
|
||||
r.clock.Add(r.maxDuration)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// createLimiter builds a limiter with given options.
|
||||
func (r *runnerImpl) createLimiter(rate int, opts ...Option) Limiter {
|
||||
opts = append(opts, WithClock(r.clock))
|
||||
return r.constructor(rate, opts...)
|
||||
}
|
||||
|
||||
func (r *runnerImpl) getClock() *clock.Mock {
|
||||
return r.clock
|
||||
}
|
||||
|
||||
// startTaking tries to Take() on passed in limiters in a loop/goroutine.
|
||||
func (r *runnerImpl) startTaking(rls ...Limiter) {
|
||||
r.goWait(func() {
|
||||
for {
|
||||
for _, rl := range rls {
|
||||
rl.Take()
|
||||
}
|
||||
r.count.Inc()
|
||||
select {
|
||||
case <-r.doneCh:
|
||||
return
|
||||
default:
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// takeOnceAfter attempts to Take at a specific time.
|
||||
func (r *runnerImpl) takeOnceAfter(d time.Duration, rl Limiter) {
|
||||
r.wg.Add(1)
|
||||
r.afterFunc(d, func() {
|
||||
rl.Take()
|
||||
r.count.Inc()
|
||||
r.wg.Done()
|
||||
})
|
||||
}
|
||||
|
||||
// assertCountAt asserts the limiters have Taken() a number of times at a given time.
|
||||
func (r *runnerImpl) assertCountAt(d time.Duration, count int) {
|
||||
r.wg.Add(1)
|
||||
r.afterFunc(d, func() {
|
||||
assert.Equal(r.t, int32(count), r.count.Load(), "count not as expected")
|
||||
r.wg.Done()
|
||||
})
|
||||
}
|
||||
|
||||
// afterFunc executes a func at a given time.
|
||||
func (r *runnerImpl) afterFunc(d time.Duration, fn func()) {
|
||||
if d > r.maxDuration {
|
||||
r.maxDuration = d
|
||||
}
|
||||
|
||||
r.goWait(func() {
|
||||
select {
|
||||
case <-r.doneCh:
|
||||
return
|
||||
case <-r.clock.After(d):
|
||||
}
|
||||
fn()
|
||||
})
|
||||
}
|
||||
|
||||
// goWait runs a function in a goroutine and makes sure the goroutine was scheduled.
|
||||
func (r *runnerImpl) goWait(fn func()) {
|
||||
wg := sync.WaitGroup{}
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
wg.Done()
|
||||
fn()
|
||||
}()
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func TestRateLimiter(t *testing.T) {
|
||||
t.Parallel()
|
||||
runTest(t, func(r testRunner) {
|
||||
rl := r.createLimiter(100, WithoutSlack)
|
||||
|
||||
// Create copious counts concurrently.
|
||||
r.startTaking(rl)
|
||||
r.startTaking(rl)
|
||||
r.startTaking(rl)
|
||||
r.startTaking(rl)
|
||||
|
||||
r.assertCountAt(1*time.Second, 100)
|
||||
r.assertCountAt(2*time.Second, 200)
|
||||
r.assertCountAt(3*time.Second, 300)
|
||||
})
|
||||
}
|
||||
|
||||
func TestDelayedRateLimiter(t *testing.T) {
|
||||
t.Skip(UnstableTest)
|
||||
t.Parallel()
|
||||
runTest(t, func(r testRunner) {
|
||||
slow := r.createLimiter(10, WithoutSlack)
|
||||
fast := r.createLimiter(100, WithoutSlack)
|
||||
|
||||
r.startTaking(slow, fast)
|
||||
|
||||
r.afterFunc(20*time.Second, func() {
|
||||
r.startTaking(fast)
|
||||
r.startTaking(fast)
|
||||
r.startTaking(fast)
|
||||
r.startTaking(fast)
|
||||
})
|
||||
|
||||
r.assertCountAt(30*time.Second, 1200)
|
||||
})
|
||||
}
|
||||
|
||||
func TestPer(t *testing.T) {
|
||||
t.Parallel()
|
||||
runTest(t, func(r testRunner) {
|
||||
rl := r.createLimiter(7, WithoutSlack, Per(time.Minute))
|
||||
|
||||
r.startTaking(rl)
|
||||
r.startTaking(rl)
|
||||
|
||||
r.assertCountAt(1*time.Second, 1)
|
||||
r.assertCountAt(1*time.Minute, 8)
|
||||
r.assertCountAt(2*time.Minute, 15)
|
||||
})
|
||||
}
|
||||
|
||||
// TestInitial verifies that the initial sequence is scheduled as expected.
|
||||
func TestInitial(t *testing.T) {
|
||||
t.Parallel()
|
||||
tests := []struct {
|
||||
msg string
|
||||
opts []Option
|
||||
}{
|
||||
{
|
||||
msg: "With Slack",
|
||||
},
|
||||
{
|
||||
msg: "Without Slack",
|
||||
opts: []Option{WithoutSlack},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.msg, func(t *testing.T) {
|
||||
runTest(t, func(r testRunner) {
|
||||
rl := r.createLimiter(10, tt.opts...)
|
||||
|
||||
var (
|
||||
clk = r.getClock()
|
||||
prev = clk.Now()
|
||||
|
||||
results = make(chan time.Time)
|
||||
have []time.Duration
|
||||
startWg sync.WaitGroup
|
||||
)
|
||||
startWg.Add(3)
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
go func() {
|
||||
startWg.Done()
|
||||
results <- rl.Take()
|
||||
}()
|
||||
}
|
||||
|
||||
startWg.Wait()
|
||||
clk.Add(time.Second)
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
ts := <-results
|
||||
have = append(have, ts.Sub(prev))
|
||||
prev = ts
|
||||
}
|
||||
|
||||
assert.Equal(t,
|
||||
[]time.Duration{
|
||||
0,
|
||||
time.Millisecond * 100,
|
||||
time.Millisecond * 100,
|
||||
},
|
||||
have,
|
||||
"bad timestamps for inital takes",
|
||||
)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestMaxSlack(t *testing.T) {
|
||||
t.Parallel()
|
||||
runTest(t, func(r testRunner) {
|
||||
rl := r.createLimiter(1, WithSlack(1))
|
||||
|
||||
r.takeOnceAfter(time.Nanosecond, rl)
|
||||
r.takeOnceAfter(2*time.Second+1*time.Nanosecond, rl)
|
||||
r.takeOnceAfter(2*time.Second+2*time.Nanosecond, rl)
|
||||
r.takeOnceAfter(2*time.Second+3*time.Nanosecond, rl)
|
||||
r.takeOnceAfter(2*time.Second+4*time.Nanosecond, rl)
|
||||
|
||||
r.assertCountAt(3*time.Second, 3)
|
||||
r.assertCountAt(10*time.Second, 5)
|
||||
})
|
||||
}
|
||||
|
||||
func TestSlack(t *testing.T) {
|
||||
t.Parallel()
|
||||
// To simulate slack, we combine two limiters.
|
||||
// - First, we start a single goroutine with both of them,
|
||||
// during this time the slow limiter will dominate,
|
||||
// and allow the fast limiter to accumulate slack.
|
||||
// - After 2 seconds, we start another goroutine with
|
||||
// only the faster limiter. This will allow it to max out,
|
||||
// and consume all the slack.
|
||||
// - After 3 seconds, we look at the final result, and we expect,
|
||||
// a sum of:
|
||||
// - slower limiter running for 3 seconds
|
||||
// - faster limiter running for 1 second
|
||||
// - slack accumulated by the faster limiter during the two seconds.
|
||||
// it was blocked by slower limiter.
|
||||
tests := []struct {
|
||||
msg string
|
||||
opt []Option
|
||||
want int
|
||||
}{
|
||||
{
|
||||
msg: "no option, defaults to 10",
|
||||
// 2*10 + 1*100 + 1*10 (slack)
|
||||
want: 130,
|
||||
},
|
||||
{
|
||||
msg: "slack of 10, like default",
|
||||
opt: []Option{WithSlack(10)},
|
||||
// 2*10 + 1*100 + 1*10 (slack)
|
||||
want: 130,
|
||||
},
|
||||
{
|
||||
msg: "slack of 20",
|
||||
opt: []Option{WithSlack(20)},
|
||||
// 2*10 + 1*100 + 1*20 (slack)
|
||||
want: 140,
|
||||
},
|
||||
{
|
||||
// Note this is bigger then the rate of the limiter.
|
||||
msg: "slack of 150",
|
||||
opt: []Option{WithSlack(150)},
|
||||
// 2*10 + 1*100 + 1*150 (slack)
|
||||
want: 270,
|
||||
},
|
||||
{
|
||||
msg: "no option, defaults to 10, with per",
|
||||
// 2*(10*2) + 1*(100*2) + 1*10 (slack)
|
||||
opt: []Option{Per(500 * time.Millisecond)},
|
||||
want: 230,
|
||||
},
|
||||
{
|
||||
msg: "slack of 10, like default, with per",
|
||||
opt: []Option{WithSlack(10), Per(500 * time.Millisecond)},
|
||||
// 2*(10*2) + 1*(100*2) + 1*10 (slack)
|
||||
want: 230,
|
||||
},
|
||||
{
|
||||
msg: "slack of 20, with per",
|
||||
opt: []Option{WithSlack(20), Per(500 * time.Millisecond)},
|
||||
// 2*(10*2) + 1*(100*2) + 1*20 (slack)
|
||||
want: 240,
|
||||
},
|
||||
{
|
||||
// Note this is bigger then the rate of the limiter.
|
||||
msg: "slack of 150, with per",
|
||||
opt: []Option{WithSlack(150), Per(500 * time.Millisecond)},
|
||||
// 2*(10*2) + 1*(100*2) + 1*150 (slack)
|
||||
want: 370,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
cfg := buildConfig(tt.opt)
|
||||
if cfg.slack >= 100 {
|
||||
t.Skip(UnstableTest)
|
||||
}
|
||||
|
||||
t.Run(tt.msg, func(t *testing.T) {
|
||||
runTest(t, func(r testRunner) {
|
||||
slow := r.createLimiter(10, WithoutSlack)
|
||||
fast := r.createLimiter(100, tt.opt...)
|
||||
|
||||
r.startTaking(slow, fast)
|
||||
|
||||
r.afterFunc(2*time.Second, func() {
|
||||
r.startTaking(fast)
|
||||
r.startTaking(fast)
|
||||
})
|
||||
|
||||
// limiter with 10hz dominates here - we're always at 10.
|
||||
r.assertCountAt(1*time.Second, 10)
|
||||
r.assertCountAt(3*time.Second, tt.want)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetRateLimitOnTheFly(t *testing.T) {
|
||||
runTest(t, func(r testRunner) {
|
||||
// Set rate to 1hz
|
||||
limiter, ok := r.createLimiter(1, WithoutSlack).(*LeakyBucket)
|
||||
if !ok {
|
||||
t.Skip("Update is not supported")
|
||||
}
|
||||
|
||||
r.startTaking(limiter)
|
||||
r.assertCountAt(time.Second, 2)
|
||||
|
||||
r.getClock().Add(time.Second)
|
||||
r.assertCountAt(time.Second, 3)
|
||||
|
||||
// increase to 2hz
|
||||
limiter.Update(2, 0)
|
||||
r.getClock().Add(time.Second)
|
||||
r.assertCountAt(time.Second, 4) // <- delayed due to paying sleepFor debt
|
||||
r.getClock().Add(time.Second)
|
||||
r.assertCountAt(time.Second, 6)
|
||||
|
||||
// reduce to 1hz again
|
||||
limiter.Update(1, 0)
|
||||
r.getClock().Add(time.Second)
|
||||
r.assertCountAt(time.Second, 7)
|
||||
r.getClock().Add(time.Second)
|
||||
r.assertCountAt(time.Second, 8)
|
||||
|
||||
slack := 3
|
||||
require.GreaterOrEqual(t, limiter.sleepFor, time.Duration(0))
|
||||
limiter.Update(1, slack)
|
||||
r.getClock().Add(time.Second * time.Duration(slack))
|
||||
r.assertCountAt(time.Second, 8+slack)
|
||||
})
|
||||
}
|
||||
@@ -22,8 +22,6 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"go.uber.org/atomic"
|
||||
|
||||
"github.com/livekit/protocol/livekit"
|
||||
)
|
||||
|
||||
@@ -33,19 +31,18 @@ const tickMask uint64 = (1 << tickBits) - 1
|
||||
var epoch = time.Date(2000, 0, 0, 0, 0, 0, 0, time.UTC).UnixMicro()
|
||||
|
||||
type TimedVersionGenerator interface {
|
||||
New() *TimedVersion
|
||||
Next() TimedVersion
|
||||
}
|
||||
|
||||
func timedVersionComponents(v uint64) (ts int64, ticks int32) {
|
||||
return int64(v>>tickBits) + epoch, int32(v & tickMask)
|
||||
func timedVersionComponents(v TimedVersion) (ts int64, ticks int32) {
|
||||
return int64(v>>tickBits) + epoch, int32(uint64(v) & tickMask)
|
||||
}
|
||||
|
||||
func timedVersionFromComponents(ts int64, ticks int32) TimedVersion {
|
||||
if ts < epoch {
|
||||
ts = epoch
|
||||
}
|
||||
return TimedVersion{v: *atomic.NewUint64((uint64(ts-epoch) << tickBits) | uint64(ticks))}
|
||||
return TimedVersion((uint64(ts-epoch) << tickBits) | uint64(ticks))
|
||||
}
|
||||
|
||||
type timedVersionGenerator struct {
|
||||
@@ -90,19 +87,7 @@ func (g *timedVersionGenerator) Next() TimedVersion {
|
||||
}
|
||||
}
|
||||
|
||||
type TimedVersion struct {
|
||||
v atomic.Uint64
|
||||
}
|
||||
|
||||
func NewTimedVersionFromProto(proto *livekit.TimedVersion) *TimedVersion {
|
||||
v := timedVersionFromComponents(proto.GetUnixMicro(), proto.GetTicks())
|
||||
return &v
|
||||
}
|
||||
|
||||
func NewTimedVersionFromTime(t time.Time) *TimedVersion {
|
||||
v := timedVersionFromComponents(t.UnixMicro(), 0)
|
||||
return &v
|
||||
}
|
||||
type TimedVersion uint64
|
||||
|
||||
func TimedVersionFromProto(proto *livekit.TimedVersion) TimedVersion {
|
||||
return timedVersionFromComponents(proto.GetUnixMicro(), proto.GetTicks())
|
||||
@@ -112,74 +97,67 @@ func TimedVersionFromTime(t time.Time) TimedVersion {
|
||||
return timedVersionFromComponents(t.UnixMicro(), 0)
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Update(other *TimedVersion) bool {
|
||||
func (t *TimedVersion) Update(other TimedVersion) bool {
|
||||
return t.Upgrade(other)
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Upgrade(other *TimedVersion) bool {
|
||||
return t.update(other, func(ov, prev uint64) bool { return ov > prev })
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Downgrade(other *TimedVersion) bool {
|
||||
return t.update(other, func(ov, prev uint64) bool { return ov < prev })
|
||||
}
|
||||
|
||||
func (t *TimedVersion) update(other *TimedVersion, cmp func(ov, prev uint64) bool) bool {
|
||||
ov := other.v.Load()
|
||||
for {
|
||||
prev := t.v.Load()
|
||||
if !cmp(ov, prev) {
|
||||
return false
|
||||
}
|
||||
if t.v.CompareAndSwap(prev, ov) {
|
||||
return true
|
||||
}
|
||||
func (t *TimedVersion) Upgrade(other TimedVersion) bool {
|
||||
if *t < other {
|
||||
*t = other
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Store(other *TimedVersion) {
|
||||
t.v.Store(other.v.Load())
|
||||
func (t *TimedVersion) Downgrade(other TimedVersion) bool {
|
||||
if *t > other {
|
||||
*t = other
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Load() TimedVersion {
|
||||
return TimedVersion{v: *atomic.NewUint64(t.v.Load())}
|
||||
func (t *TimedVersion) Store(other TimedVersion) {
|
||||
*t = other
|
||||
}
|
||||
|
||||
func (t *TimedVersion) After(other *TimedVersion) bool {
|
||||
return t.v.Load() > other.v.Load()
|
||||
func (t TimedVersion) Load() TimedVersion {
|
||||
return t
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Compare(other *TimedVersion) int {
|
||||
ov := other.v.Load()
|
||||
v := t.v.Load()
|
||||
if v < ov {
|
||||
func (t TimedVersion) After(other TimedVersion) bool {
|
||||
return t > other
|
||||
}
|
||||
|
||||
func (t TimedVersion) Compare(other TimedVersion) int {
|
||||
if t < other {
|
||||
return -1
|
||||
}
|
||||
if v == ov {
|
||||
if t == other {
|
||||
return 0
|
||||
}
|
||||
return 1
|
||||
}
|
||||
|
||||
func (t *TimedVersion) IsZero() bool {
|
||||
return t.v.Load() == 0
|
||||
func (t TimedVersion) IsZero() bool {
|
||||
return t == 0
|
||||
}
|
||||
|
||||
func (t *TimedVersion) ToProto() *livekit.TimedVersion {
|
||||
ts, ticks := timedVersionComponents(t.v.Load())
|
||||
func (t TimedVersion) ToProto() *livekit.TimedVersion {
|
||||
ts, ticks := timedVersionComponents(t)
|
||||
return &livekit.TimedVersion{
|
||||
UnixMicro: ts,
|
||||
Ticks: ticks,
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TimedVersion) Time() time.Time {
|
||||
ts, _ := timedVersionComponents(t.v.Load())
|
||||
func (t TimedVersion) Time() time.Time {
|
||||
ts, _ := timedVersionComponents(t)
|
||||
return time.UnixMicro(ts)
|
||||
}
|
||||
|
||||
func (t *TimedVersion) String() string {
|
||||
ts, ticks := timedVersionComponents(t.v.Load())
|
||||
func (t TimedVersion) String() string {
|
||||
ts, ticks := timedVersionComponents(t)
|
||||
return fmt.Sprintf("%d.%d", ts, ticks)
|
||||
}
|
||||
|
||||
@@ -188,7 +166,7 @@ func (t TimedVersion) Value() (driver.Value, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
ts, ticks := timedVersionComponents(t.v.Load())
|
||||
ts, ticks := timedVersionComponents(t)
|
||||
b := make([]byte, 0, 12)
|
||||
b = binary.BigEndian.AppendUint64(b, uint64(ts))
|
||||
b = binary.BigEndian.AppendUint32(b, uint32(ticks))
|
||||
@@ -200,7 +178,7 @@ func (t *TimedVersion) Scan(src interface{}) (err error) {
|
||||
case []byte:
|
||||
switch len(b) {
|
||||
case 0:
|
||||
t.v.Store(0)
|
||||
*t = 0
|
||||
case 12:
|
||||
ts := int64(binary.BigEndian.Uint64(b))
|
||||
ticks := int32(binary.BigEndian.Uint32(b[8:]))
|
||||
@@ -209,7 +187,7 @@ func (t *TimedVersion) Scan(src interface{}) (err error) {
|
||||
return errors.New("(*TimedVersion).Scan: unsupported format")
|
||||
}
|
||||
case nil:
|
||||
t.v.Store(0)
|
||||
*t = 0
|
||||
default:
|
||||
return errors.New("(*TimedVersion).Scan: unsupported data type")
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ import (
|
||||
func TestTimedVersion(t *testing.T) {
|
||||
t.Run("timed versions are monotonic and comparable", func(t *testing.T) {
|
||||
gen := NewDefaultTimedVersionGenerator()
|
||||
tv1 := gen.New()
|
||||
tv2 := gen.New()
|
||||
tv3 := gen.New()
|
||||
tv1 := gen.Next()
|
||||
tv2 := gen.Next()
|
||||
tv3 := gen.Next()
|
||||
|
||||
require.True(t, tv3.After(tv1))
|
||||
require.True(t, tv3.After(tv2))
|
||||
@@ -44,28 +44,28 @@ func TestTimedVersion(t *testing.T) {
|
||||
|
||||
t.Run("protobuf roundtrip", func(t *testing.T) {
|
||||
gen := NewDefaultTimedVersionGenerator()
|
||||
tv1 := gen.New()
|
||||
tv2 := NewTimedVersionFromProto(tv1.ToProto())
|
||||
require.Equal(t, tv1.v.Load(), tv2.v.Load())
|
||||
tv1 := gen.Next()
|
||||
tv2 := TimedVersionFromProto(tv1.ToProto())
|
||||
require.Equal(t, tv1, tv2)
|
||||
})
|
||||
|
||||
t.Run("from zero time yields epoch version", func(t *testing.T) {
|
||||
gen := NewDefaultTimedVersionGenerator()
|
||||
tv1 := NewTimedVersionFromTime(time.Date(0, 0, 0, 0, 0, 0, 0, time.UTC))
|
||||
tv2 := gen.New()
|
||||
tv1 := TimedVersionFromTime(time.Date(0, 0, 0, 0, 0, 0, 0, time.UTC))
|
||||
tv2 := gen.Next()
|
||||
require.True(t, tv2.After(tv1))
|
||||
})
|
||||
|
||||
t.Run("time.Time roundtrip", func(t *testing.T) {
|
||||
ts1 := time.Now().Round(time.Microsecond)
|
||||
tv1 := NewTimedVersionFromTime(ts1)
|
||||
tv1 := TimedVersionFromTime(ts1)
|
||||
ts2 := tv1.Time()
|
||||
tv2 := NewTimedVersionFromTime(ts2)
|
||||
tv2 := TimedVersionFromTime(ts2)
|
||||
require.Equal(t, ts1, ts2)
|
||||
require.Equal(t, tv1.v.Load(), tv2.v.Load())
|
||||
require.Equal(t, tv1, tv2)
|
||||
})
|
||||
|
||||
t.Run("timed version from nil is zero", func(t *testing.T) {
|
||||
require.True(t, NewTimedVersionFromProto(nil).IsZero())
|
||||
require.True(t, TimedVersionFromProto(nil).IsZero())
|
||||
})
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -86,6 +85,28 @@ func (t TimeSeriesCompareOp) String() string {
|
||||
|
||||
// ------------------------------------------------
|
||||
|
||||
type ReverseIterator[T number] struct {
|
||||
limit time.Time
|
||||
e *list.Element
|
||||
s TimeSeriesSample[T]
|
||||
}
|
||||
|
||||
func (it *ReverseIterator[T]) Next() bool {
|
||||
if it.e == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
it.s = it.e.Value.(TimeSeriesSample[T])
|
||||
it.e = it.e.Prev()
|
||||
return it.s.At.After(it.limit)
|
||||
}
|
||||
|
||||
func (it *ReverseIterator[T]) Value() TimeSeriesSample[T] {
|
||||
return it.s
|
||||
}
|
||||
|
||||
// ------------------------------------------------
|
||||
|
||||
type number interface {
|
||||
uint32 | uint64 | int | int32 | int64 | float32 | float64
|
||||
}
|
||||
@@ -104,7 +125,6 @@ type TimeSeriesParams struct {
|
||||
type TimeSeries[T number] struct {
|
||||
params TimeSeriesParams
|
||||
|
||||
lock sync.RWMutex
|
||||
samples *list.List
|
||||
activeSample T
|
||||
isActiveSample bool
|
||||
@@ -127,9 +147,6 @@ func NewTimeSeries[T number](params TimeSeriesParams) *TimeSeries[T] {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) UpdateSample(val T) {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
if !t.isActiveSample {
|
||||
t.isActiveSample = true
|
||||
t.activeSample = val
|
||||
@@ -153,9 +170,6 @@ func (t *TimeSeries[T]) CommitActiveSample() {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) CommitActiveSampleAt(at time.Time) {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
if !t.isActiveSample {
|
||||
return
|
||||
}
|
||||
@@ -169,16 +183,10 @@ func (t *TimeSeries[T]) AddSample(val T) {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) AddSampleAt(val T, at time.Time) {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.addSampleAt(val, at)
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) GetSamples() []TimeSeriesSample[T] {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
samples := make([]TimeSeriesSample[T], 0, t.samples.Len())
|
||||
@@ -189,9 +197,6 @@ func (t *TimeSeries[T]) GetSamples() []TimeSeriesSample[T] {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) GetSamplesAfter(at time.Time) []TimeSeriesSample[T] {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
samples := make([]TimeSeriesSample[T], 0, t.samples.Len())
|
||||
@@ -204,17 +209,20 @@ func (t *TimeSeries[T]) GetSamplesAfter(at time.Time) []TimeSeriesSample[T] {
|
||||
return samples
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) ClearSamples() {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
func (t *TimeSeries[T]) ReverseIterateSamplesAfter(at time.Time) ReverseIterator[T] {
|
||||
t.prune()
|
||||
|
||||
return ReverseIterator[T]{
|
||||
limit: at,
|
||||
e: t.samples.Back(),
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) ClearSamples() {
|
||||
t.initSamples()
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Sum() float64 {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
sum := float64(0.0)
|
||||
@@ -226,10 +234,25 @@ func (t *TimeSeries[T]) Sum() float64 {
|
||||
return sum
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Min() T {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
func (t *TimeSeries[T]) HasSamplesAfter(at time.Time) bool {
|
||||
t.prune()
|
||||
|
||||
if e := t.samples.Back(); e != nil {
|
||||
return e.Value.(TimeSeriesSample[T]).At.After(at)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Back() TimeSeriesSample[T] {
|
||||
t.prune()
|
||||
|
||||
if e := t.samples.Back(); e != nil {
|
||||
return e.Value.(TimeSeriesSample[T])
|
||||
}
|
||||
return TimeSeriesSample[T]{}
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Min() T {
|
||||
t.prune()
|
||||
|
||||
return t.minLocked(t.samples.Len())
|
||||
@@ -248,9 +271,6 @@ func (t *TimeSeries[T]) minLocked(numSamples int) T {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Max() T {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
return t.maxLocked(t.samples.Len())
|
||||
@@ -269,9 +289,6 @@ func (t *TimeSeries[T]) maxLocked(numSamples int) T {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) CurrentRun(threshold T, op TimeSeriesCompareOp) time.Duration {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
start := time.Time{}
|
||||
@@ -311,16 +328,10 @@ func (t *TimeSeries[T]) CurrentRun(threshold T, op TimeSeriesCompareOp) time.Dur
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) OnlineAverage() float64 {
|
||||
t.lock.RLock()
|
||||
defer t.lock.RUnlock()
|
||||
|
||||
return t.welfordM
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) OnlineVariance() float64 {
|
||||
t.lock.RLock()
|
||||
defer t.lock.RUnlock()
|
||||
|
||||
return t.onlineVarianceLocked()
|
||||
}
|
||||
|
||||
@@ -333,9 +344,6 @@ func (t *TimeSeries[T]) onlineVarianceLocked() float64 {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) OnlineStdDev() float64 {
|
||||
t.lock.RLock()
|
||||
defer t.lock.RUnlock()
|
||||
|
||||
return t.onlineStdDevLocked()
|
||||
}
|
||||
|
||||
@@ -344,9 +352,6 @@ func (t *TimeSeries[T]) onlineStdDevLocked() float64 {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) ZScore(val T) float64 {
|
||||
t.lock.RLock()
|
||||
defer t.lock.RUnlock()
|
||||
|
||||
onlineStdDev := t.onlineStdDevLocked()
|
||||
if onlineStdDev != 0.0 {
|
||||
return (float64(val) - t.welfordM) / onlineStdDev
|
||||
@@ -356,9 +361,6 @@ func (t *TimeSeries[T]) ZScore(val T) float64 {
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) Slope() float64 {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
numSamples := t.samples.Len()
|
||||
@@ -418,9 +420,6 @@ func (t *TimeSeries[T]) linearFitLocked(numSamples int) (slope float64, intercep
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) LinearExtrapolateTo(numSamplesToUse int, after time.Duration) (float64, error) {
|
||||
t.lock.Lock()
|
||||
defer t.lock.Unlock()
|
||||
|
||||
t.prune()
|
||||
|
||||
slope, intercept, startedAt, endedAt := t.linearFitLocked(numSamplesToUse)
|
||||
@@ -434,11 +433,9 @@ func (t *TimeSeries[T]) LinearExtrapolateTo(numSamplesToUse int, after time.Dura
|
||||
}
|
||||
|
||||
func (t *TimeSeries[T]) KendallsTau(numSamplesToUse int) (float64, error) {
|
||||
t.lock.Lock()
|
||||
t.prune()
|
||||
|
||||
if t.samples.Len() < numSamplesToUse {
|
||||
t.lock.Unlock()
|
||||
return 0.0, errNotEnoughSamples
|
||||
}
|
||||
|
||||
@@ -453,7 +450,6 @@ func (t *TimeSeries[T]) KendallsTau(numSamplesToUse int) (float64, error) {
|
||||
values[idx] = s.Value
|
||||
idx--
|
||||
}
|
||||
t.lock.Unlock()
|
||||
|
||||
concordantPairs := 0
|
||||
discordantPairs := 0
|
||||
@@ -532,17 +528,14 @@ func (t *TimeSeries[T]) prune() {
|
||||
thresh := t.welfordLast.Add(-t.params.Window)
|
||||
//thresh := time.Now().Add(-t.params.Window)
|
||||
|
||||
toRemove := make([]*list.Element, 0, t.samples.Len())
|
||||
for e := t.samples.Front(); e != nil; e = e.Next() {
|
||||
for next := t.samples.Front(); next != nil; {
|
||||
e := next
|
||||
s := e.Value.(TimeSeriesSample[T])
|
||||
if s.At.After(thresh) {
|
||||
break
|
||||
}
|
||||
next = e.Next()
|
||||
|
||||
toRemove = append(toRemove, e)
|
||||
}
|
||||
|
||||
for _, e := range toRemove {
|
||||
t.samples.Remove(e)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package timeseries
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -122,7 +123,17 @@ func TestTimeSeries(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
require.Equal(t, expectedSamples, ts.GetSamplesAfter(now.Add(5*time.Second)))
|
||||
|
||||
threshold := now.Add(5 * time.Second)
|
||||
require.True(t, ts.HasSamplesAfter(threshold))
|
||||
require.Equal(t, expectedSamples, ts.GetSamplesAfter(threshold))
|
||||
|
||||
history := make([]TimeSeriesSample[uint32], 0, 4)
|
||||
for it := ts.ReverseIterateSamplesAfter(threshold); it.Next(); {
|
||||
history = append(history, it.Value())
|
||||
}
|
||||
slices.Reverse(history)
|
||||
require.Equal(t, expectedSamples, ts.GetSamplesAfter(threshold))
|
||||
})
|
||||
|
||||
t.Run("sum", func(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user