mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-10-05 18:06:51 +08:00
feat: set stream alias
This commit is contained in:
65
api.go
65
api.go
@@ -4,10 +4,9 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"maps"
|
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"regexp"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -94,7 +93,7 @@ func (s *Server) api_Stream_AnnexB_(rw http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) getStreamInfo(pub *Publisher) (res *pb.StreamInfoResponse, err error) {
|
func (s *Server) getStreamInfo(pub *Publisher) (res *pb.StreamInfoResponse, err error) {
|
||||||
tmp, _ := json.Marshal(pub.Description)
|
tmp, _ := json.Marshal(pub.GetDescriptions())
|
||||||
res = &pb.StreamInfoResponse{
|
res = &pb.StreamInfoResponse{
|
||||||
Meta: string(tmp),
|
Meta: string(tmp),
|
||||||
Path: pub.StreamPath,
|
Path: pub.StreamPath,
|
||||||
@@ -149,11 +148,7 @@ func (s *Server) StreamInfo(ctx context.Context, req *pb.StreamSnapRequest) (res
|
|||||||
func (s *Server) TaskTree(context.Context, *emptypb.Empty) (res *pb.TaskTreeResponse, err error) {
|
func (s *Server) TaskTree(context.Context, *emptypb.Empty) (res *pb.TaskTreeResponse, err error) {
|
||||||
var fillData func(m task.ITask) *pb.TaskTreeResponse
|
var fillData func(m task.ITask) *pb.TaskTreeResponse
|
||||||
fillData = func(m task.ITask) (res *pb.TaskTreeResponse) {
|
fillData = func(m task.ITask) (res *pb.TaskTreeResponse) {
|
||||||
res = &pb.TaskTreeResponse{Id: m.GetTaskID(), State: uint32(m.GetState()), Type: uint32(m.GetTaskType()), Owner: m.GetOwnerType(), StartTime: timestamppb.New(m.GetTask().StartTime), Description: maps.Collect(func(yield func(key, value string) bool) {
|
res = &pb.TaskTreeResponse{Id: m.GetTaskID(), State: uint32(m.GetState()), Type: uint32(m.GetTaskType()), Owner: m.GetOwnerType(), StartTime: timestamppb.New(m.GetTask().StartTime), Description: m.GetDescriptions()}
|
||||||
m.GetTask().Description.Range(func(key, value any) bool {
|
|
||||||
return yield(key.(string), fmt.Sprintf("%+v", value))
|
|
||||||
})
|
|
||||||
})}
|
|
||||||
if job, ok := m.(task.IJob); ok {
|
if job, ok := m.(task.IJob); ok {
|
||||||
if blockedTask := job.Blocked(); blockedTask != nil {
|
if blockedTask := job.Blocked(); blockedTask != nil {
|
||||||
res.Blocked = fillData(blockedTask)
|
res.Blocked = fillData(blockedTask)
|
||||||
@@ -172,12 +167,7 @@ func (s *Server) GetSubscribers(context.Context, *pb.SubscribersRequest) (res *p
|
|||||||
s.Streams.Call(func() error {
|
s.Streams.Call(func() error {
|
||||||
var subscribers []*pb.SubscriberSnapShot
|
var subscribers []*pb.SubscriberSnapShot
|
||||||
for subscriber := range s.Subscribers.Range {
|
for subscriber := range s.Subscribers.Range {
|
||||||
metaData := make(task.Description)
|
meta, _ := json.Marshal(subscriber.GetDescriptions())
|
||||||
subscriber.Description.Range(func(key, value any) bool {
|
|
||||||
metaData[key.(string)] = value
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
meta, _ := json.Marshal(metaData)
|
|
||||||
snap := &pb.SubscriberSnapShot{
|
snap := &pb.SubscriberSnapShot{
|
||||||
Id: subscriber.ID,
|
Id: subscriber.ID,
|
||||||
StartTime: timestamppb.New(subscriber.StartTime),
|
StartTime: timestamppb.New(subscriber.StartTime),
|
||||||
@@ -615,3 +605,50 @@ func (s *Server) RemoveDevice(ctx context.Context, req *pb.RequestWithId) (res *
|
|||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Server) SetStreamAlias(ctx context.Context, req *pb.SetStreamAliasRequest) (res *pb.SuccessResponse, err error) {
|
||||||
|
s.Streams.Call(func() error {
|
||||||
|
reg := config.Regexp{
|
||||||
|
Regexp: regexp.MustCompile(req.Alias),
|
||||||
|
}
|
||||||
|
if req.StreamPath != "" {
|
||||||
|
s.StreamAlias[reg] = req.StreamPath
|
||||||
|
for publisher := range s.Streams.Range {
|
||||||
|
if streamPath := reg.Replace(publisher.StreamPath, req.StreamPath); streamPath != "" {
|
||||||
|
if publisher2, ok := s.Streams.Get(streamPath); ok {
|
||||||
|
for subscriber := range publisher.Subscribers.Range {
|
||||||
|
publisher.RemoveSubscriber(subscriber)
|
||||||
|
subscriber.setAlias(reg, streamPath)
|
||||||
|
publisher2.AddSubscriber(subscriber)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for waitStream := range s.Waiting.Range {
|
||||||
|
if streamPath := reg.Replace(waitStream.StreamPath, req.StreamPath); streamPath != "" {
|
||||||
|
if publisher2, ok := s.Streams.Get(streamPath); ok {
|
||||||
|
for subscriber := range waitStream.Range {
|
||||||
|
waitStream.Remove(subscriber)
|
||||||
|
subscriber.setAlias(reg, streamPath)
|
||||||
|
publisher2.AddSubscriber(subscriber)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for reg := range s.StreamAlias {
|
||||||
|
if reg.String() == req.Alias {
|
||||||
|
for subscriber := range s.Subscribers.Range {
|
||||||
|
if subscriber.AliasKey == reg {
|
||||||
|
subscriber.removeAlias()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete(s.StreamAlias, reg)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
449
pb/global.pb.go
449
pb/global.pb.go
@@ -2312,6 +2312,61 @@ func (x *DeviceInfo) GetPullURL() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SetStreamAliasRequest struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
StreamPath string `protobuf:"bytes,1,opt,name=streamPath,proto3" json:"streamPath,omitempty"`
|
||||||
|
Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SetStreamAliasRequest) Reset() {
|
||||||
|
*x = SetStreamAliasRequest{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_global_proto_msgTypes[32]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SetStreamAliasRequest) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*SetStreamAliasRequest) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *SetStreamAliasRequest) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_global_proto_msgTypes[32]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SetStreamAliasRequest.ProtoReflect.Descriptor instead.
|
||||||
|
func (*SetStreamAliasRequest) Descriptor() ([]byte, []int) {
|
||||||
|
return file_global_proto_rawDescGZIP(), []int{32}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SetStreamAliasRequest) GetStreamPath() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.StreamPath
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SetStreamAliasRequest) GetAlias() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Alias
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
var File_global_proto protoreflect.FileDescriptor
|
var File_global_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_global_proto_rawDesc = []byte{
|
var file_global_proto_rawDesc = []byte{
|
||||||
@@ -2643,134 +2698,147 @@ var file_global_proto_rawDesc = []byte{
|
|||||||
0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01,
|
0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75,
|
0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75,
|
||||||
0x6c, 0x6c, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x6c,
|
0x6c, 0x6c, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x6c,
|
||||||
0x6c, 0x55, 0x52, 0x4c, 0x32, 0xdb, 0x0f, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x12, 0x50, 0x0a, 0x07,
|
0x6c, 0x55, 0x52, 0x4c, 0x22, 0x4d, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61,
|
||||||
0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a,
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f,
|
0x09, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e,
|
0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c,
|
||||||
0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x79, 0x73, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x50,
|
0x69, 0x61, 0x73, 0x32, 0xd3, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x12, 0x50, 0x0a, 0x07, 0x53,
|
||||||
0x0a, 0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17,
|
||||||
0x79, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61,
|
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
||||||
0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12,
|
||||||
0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
|
0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x79, 0x73, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a,
|
||||||
0x12, 0x55, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x15, 0x2e, 0x67,
|
0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||||
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74,
|
|
||||||
0x68, 0x49, 0x64, 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, 0x1a, 0x82, 0xd3, 0xe4,
|
|
||||||
0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f,
|
|
||||||
0x77, 0x6e, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61,
|
|
||||||
0x72, 0x74, 0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 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, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
|
||||||
0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x08,
|
|
||||||
0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x65, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||||
0x1a, 0x18, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72,
|
0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72,
|
||||||
0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93,
|
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x72,
|
0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12,
|
||||||
0x65, 0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74,
|
0x55, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x15, 0x2e, 0x67, 0x6c,
|
||||||
|
0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68,
|
||||||
|
0x49, 0x64, 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, 0x1a, 0x82, 0xd3, 0xe4, 0x93,
|
||||||
|
0x02, 0x14, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77,
|
||||||
|
0x6e, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72,
|
||||||
|
0x74, 0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
|
0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 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, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
|
||||||
|
0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x08, 0x54,
|
||||||
|
0x61, 0x73, 0x6b, 0x54, 0x72, 0x65, 0x65, 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,
|
||||||
|
0x18, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x72, 0x65,
|
||||||
|
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
|
0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x74, 0x72, 0x65,
|
||||||
|
0x65, 0x12, 0x5d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
|
||||||
|
0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c,
|
||||||
|
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6c, 0x6f,
|
||||||
|
0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
|
||||||
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10,
|
||||||
|
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74,
|
||||||
|
0x12, 0x60, 0x0a, 0x08, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 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, 0x1e, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74,
|
||||||
|
0x72, 0x65, 0x61, 0x6d, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||||
|
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61,
|
||||||
|
0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x6c, 0x69,
|
||||||
|
0x73, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
|
||||||
0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6c,
|
0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6c,
|
||||||
0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12,
|
||||||
0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x6c, 0x69, 0x73,
|
0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x69, 0x6e, 0x66,
|
||||||
0x74, 0x12, 0x60, 0x0a, 0x08, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e,
|
0x6f, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a,
|
||||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
0x7d, 0x12, 0x73, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
|
||||||
0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53,
|
0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x62,
|
||||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
|
0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f,
|
0x1b, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
|
||||||
0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x6c,
|
0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3,
|
||||||
0x69, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66,
|
0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63,
|
||||||
0x6f, 0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
|
0x72, 0x69, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61,
|
||||||
0x6d, 0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67,
|
0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x78, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54,
|
||||||
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
|
0x72, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22,
|
0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x69, 0x6e,
|
0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61,
|
||||||
0x66, 0x6f, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a,
|
0x63, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x2a, 0x7d, 0x12, 0x73, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
|
0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69,
|
||||||
0x62, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75,
|
0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x6e, 0x61, 0x70,
|
||||||
0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d,
|
||||||
0x1a, 0x1b, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
|
0x12, 0x78, 0x0a, 0x0e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6e,
|
||||||
0x69, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82,
|
0x61, 0x70, 0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65,
|
||||||
0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73,
|
0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
|
||||||
0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50,
|
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x61, 0x70,
|
||||||
0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x78, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x6f,
|
0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3,
|
||||||
0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62,
|
0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f,
|
||||||
0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71,
|
0x74, 0x72, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65,
|
||||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x72,
|
0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x0f, 0x43,
|
||||||
0x61, 0x63, 0x6b, 0x53, 0x6e, 0x61, 0x70, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1e,
|
||||||
0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70,
|
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75,
|
||||||
0x69, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x6e, 0x61,
|
0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
|
||||||
0x70, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a,
|
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52,
|
||||||
0x7d, 0x12, 0x78, 0x0a, 0x0e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22,
|
||||||
0x6e, 0x61, 0x70, 0x12, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72,
|
0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2f,
|
||||||
0x65, 0x61, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
|
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x73, 0x74, 0x72,
|
||||||
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x61,
|
0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x76,
|
||||||
0x70, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82,
|
0x0a, 0x0e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73,
|
||||||
0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x69, 0x64, 0x65,
|
0x12, 0x1d, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x72,
|
||||||
0x6f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x74, 0x72,
|
0x65, 0x61, 0x6d, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x0f,
|
|
||||||
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12,
|
|
||||||
0x1e, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53,
|
|
||||||
0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
||||||
0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f,
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26,
|
||||||
0x22, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
|
0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x61, 0x6c,
|
||||||
0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x73, 0x74,
|
0x69, 0x61, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d,
|
||||||
0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x3d, 0x2a, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12,
|
0x2a, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x64, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x75,
|
||||||
0x64, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
|
0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||||
0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x1a, 0x17,
|
||||||
0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52,
|
||||||
0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22,
|
||||||
0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73,
|
0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2f,
|
||||||
0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x2f, 0x7b, 0x69,
|
0x73, 0x74, 0x6f, 0x70, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x60, 0x0a, 0x09,
|
||||||
0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x60, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
|
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x2e, 0x67, 0x6c, 0x6f, 0x62,
|
||||||
0x69, 0x67, 0x12, 0x18, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x43,
|
0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67,
|
0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74,
|
||||||
|
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e,
|
||||||
|
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e,
|
||||||
|
0x66, 0x69, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x65,
|
||||||
|
0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x2e, 0x67,
|
||||||
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
|
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e,
|
||||||
0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x65, 0x74,
|
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x65, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x6f,
|
0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||||
0x72, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47,
|
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6c, 0x79, 0x2f, 0x7b,
|
||||||
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x6d, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43,
|
||||||
0x19, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
|
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x4d,
|
||||||
0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93,
|
0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f,
|
0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63,
|
||||||
0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6c, 0x79, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x6d,
|
0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4,
|
||||||
0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b,
|
0x93, 0x02, 0x21, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||||
0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f,
|
0x2f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x04,
|
||||||
0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6c,
|
0x79, 0x61, 0x6d, 0x6c, 0x12, 0x5d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||||
0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70,
|
0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x19, 0x2f, 0x61,
|
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e,
|
||||||
0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79,
|
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73,
|
||||||
0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x12, 0x5d, 0x0a,
|
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16,
|
0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c,
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e,
|
0x12, 0x12, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75,
|
||||||
0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69,
|
0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82,
|
||||||
0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x09,
|
0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
|
||||||
0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x2e, 0x67, 0x6c, 0x6f, 0x62,
|
0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x62, 0x0a, 0x0c, 0x52, 0x65, 0x6d,
|
||||||
0x61, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e,
|
0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62,
|
||||||
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65,
|
0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64,
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x0f,
|
0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
|
||||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x3a,
|
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
0x01, 0x2a, 0x12, 0x62, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69,
|
0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72,
|
||||||
0x63, 0x65, 0x12, 0x15, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x75,
|
0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a,
|
||||||
0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62,
|
0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x2e,
|
||||||
0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66,
|
||||||
0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69,
|
0x6f, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65,
|
||||||
0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x7b,
|
0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93,
|
||||||
0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f,
|
||||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e,
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0x14, 0x5a, 0x12, 0x6d, 0x37, 0x73,
|
||||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x17, 0x2e, 0x67, 0x6c, 0x6f,
|
0x2e, 0x6c, 0x69, 0x76, 0x65, 0x2f, 0x6d, 0x37, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x62, 0x62,
|
||||||
0x62, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x61, 0x70,
|
|
||||||
0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a,
|
|
||||||
0x01, 0x2a, 0x42, 0x14, 0x5a, 0x12, 0x6d, 0x37, 0x73, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x2f, 0x6d,
|
|
||||||
0x37, 0x73, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -2785,7 +2853,7 @@ func file_global_proto_rawDescGZIP() []byte {
|
|||||||
return file_global_proto_rawDescData
|
return file_global_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_global_proto_msgTypes = make([]protoimpl.MessageInfo, 38)
|
var file_global_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
|
||||||
var file_global_proto_goTypes = []interface{}{
|
var file_global_proto_goTypes = []interface{}{
|
||||||
(*GetConfigRequest)(nil), // 0: global.GetConfigRequest
|
(*GetConfigRequest)(nil), // 0: global.GetConfigRequest
|
||||||
(*Formily)(nil), // 1: global.Formily
|
(*Formily)(nil), // 1: global.Formily
|
||||||
@@ -2819,92 +2887,95 @@ var file_global_proto_goTypes = []interface{}{
|
|||||||
(*SubscribersResponse)(nil), // 29: global.SubscribersResponse
|
(*SubscribersResponse)(nil), // 29: global.SubscribersResponse
|
||||||
(*DeviceListResponse)(nil), // 30: global.DeviceListResponse
|
(*DeviceListResponse)(nil), // 30: global.DeviceListResponse
|
||||||
(*DeviceInfo)(nil), // 31: global.DeviceInfo
|
(*DeviceInfo)(nil), // 31: global.DeviceInfo
|
||||||
nil, // 32: global.Formily.PropertiesEntry
|
(*SetStreamAliasRequest)(nil), // 32: global.SetStreamAliasRequest
|
||||||
nil, // 33: global.Formily.ComponentPropsEntry
|
nil, // 33: global.Formily.PropertiesEntry
|
||||||
nil, // 34: global.FormilyResponse.PropertiesEntry
|
nil, // 34: global.Formily.ComponentPropsEntry
|
||||||
nil, // 35: global.TaskTreeResponse.DescriptionEntry
|
nil, // 35: global.FormilyResponse.PropertiesEntry
|
||||||
nil, // 36: global.StreamWaitListResponse.ListEntry
|
nil, // 36: global.TaskTreeResponse.DescriptionEntry
|
||||||
nil, // 37: global.TrackSnapShotResponse.ReaderEntry
|
nil, // 37: global.StreamWaitListResponse.ListEntry
|
||||||
(*timestamppb.Timestamp)(nil), // 38: google.protobuf.Timestamp
|
nil, // 38: global.TrackSnapShotResponse.ReaderEntry
|
||||||
(*anypb.Any)(nil), // 39: google.protobuf.Any
|
(*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp
|
||||||
(*emptypb.Empty)(nil), // 40: google.protobuf.Empty
|
(*anypb.Any)(nil), // 40: google.protobuf.Any
|
||||||
|
(*emptypb.Empty)(nil), // 41: google.protobuf.Empty
|
||||||
}
|
}
|
||||||
var file_global_proto_depIdxs = []int32{
|
var file_global_proto_depIdxs = []int32{
|
||||||
32, // 0: global.Formily.properties:type_name -> global.Formily.PropertiesEntry
|
33, // 0: global.Formily.properties:type_name -> global.Formily.PropertiesEntry
|
||||||
33, // 1: global.Formily.componentProps:type_name -> global.Formily.ComponentPropsEntry
|
34, // 1: global.Formily.componentProps:type_name -> global.Formily.ComponentPropsEntry
|
||||||
34, // 2: global.FormilyResponse.properties:type_name -> global.FormilyResponse.PropertiesEntry
|
35, // 2: global.FormilyResponse.properties:type_name -> global.FormilyResponse.PropertiesEntry
|
||||||
6, // 3: global.SummaryResponse.memory:type_name -> global.Usage
|
6, // 3: global.SummaryResponse.memory:type_name -> global.Usage
|
||||||
6, // 4: global.SummaryResponse.hardDisk:type_name -> global.Usage
|
6, // 4: global.SummaryResponse.hardDisk:type_name -> global.Usage
|
||||||
5, // 5: global.SummaryResponse.netWork:type_name -> global.NetWorkInfo
|
5, // 5: global.SummaryResponse.netWork:type_name -> global.NetWorkInfo
|
||||||
38, // 6: global.SysInfoResponse.startTime:type_name -> google.protobuf.Timestamp
|
39, // 6: global.SysInfoResponse.startTime:type_name -> google.protobuf.Timestamp
|
||||||
8, // 7: global.SysInfoResponse.plugins:type_name -> global.PluginInfo
|
8, // 7: global.SysInfoResponse.plugins:type_name -> global.PluginInfo
|
||||||
38, // 8: global.TaskTreeResponse.startTime:type_name -> google.protobuf.Timestamp
|
39, // 8: global.TaskTreeResponse.startTime:type_name -> google.protobuf.Timestamp
|
||||||
35, // 9: global.TaskTreeResponse.description:type_name -> global.TaskTreeResponse.DescriptionEntry
|
36, // 9: global.TaskTreeResponse.description:type_name -> global.TaskTreeResponse.DescriptionEntry
|
||||||
10, // 10: global.TaskTreeResponse.children:type_name -> global.TaskTreeResponse
|
10, // 10: global.TaskTreeResponse.children:type_name -> global.TaskTreeResponse
|
||||||
10, // 11: global.TaskTreeResponse.blocked:type_name -> global.TaskTreeResponse
|
10, // 11: global.TaskTreeResponse.blocked:type_name -> global.TaskTreeResponse
|
||||||
15, // 12: global.StreamListResponse.list:type_name -> global.StreamInfoResponse
|
15, // 12: global.StreamListResponse.list:type_name -> global.StreamInfoResponse
|
||||||
36, // 13: global.StreamWaitListResponse.list:type_name -> global.StreamWaitListResponse.ListEntry
|
37, // 13: global.StreamWaitListResponse.list:type_name -> global.StreamWaitListResponse.ListEntry
|
||||||
20, // 14: global.StreamInfoResponse.audioTrack:type_name -> global.AudioTrackInfo
|
20, // 14: global.StreamInfoResponse.audioTrack:type_name -> global.AudioTrackInfo
|
||||||
22, // 15: global.StreamInfoResponse.videoTrack:type_name -> global.VideoTrackInfo
|
22, // 15: global.StreamInfoResponse.videoTrack:type_name -> global.VideoTrackInfo
|
||||||
38, // 16: global.StreamInfoResponse.startTime:type_name -> google.protobuf.Timestamp
|
39, // 16: global.StreamInfoResponse.startTime:type_name -> google.protobuf.Timestamp
|
||||||
38, // 17: global.TrackSnapShot.writeTime:type_name -> google.protobuf.Timestamp
|
39, // 17: global.TrackSnapShot.writeTime:type_name -> google.protobuf.Timestamp
|
||||||
16, // 18: global.TrackSnapShot.wrap:type_name -> global.Wrap
|
16, // 18: global.TrackSnapShot.wrap:type_name -> global.Wrap
|
||||||
18, // 19: global.MemoryBlockGroup.list:type_name -> global.MemoryBlock
|
18, // 19: global.MemoryBlockGroup.list:type_name -> global.MemoryBlock
|
||||||
17, // 20: global.TrackSnapShotResponse.ring:type_name -> global.TrackSnapShot
|
17, // 20: global.TrackSnapShotResponse.ring:type_name -> global.TrackSnapShot
|
||||||
37, // 21: global.TrackSnapShotResponse.reader:type_name -> global.TrackSnapShotResponse.ReaderEntry
|
38, // 21: global.TrackSnapShotResponse.reader:type_name -> global.TrackSnapShotResponse.ReaderEntry
|
||||||
19, // 22: global.TrackSnapShotResponse.memory:type_name -> global.MemoryBlockGroup
|
19, // 22: global.TrackSnapShotResponse.memory:type_name -> global.MemoryBlockGroup
|
||||||
38, // 23: global.SubscriberSnapShot.startTime:type_name -> google.protobuf.Timestamp
|
39, // 23: global.SubscriberSnapShot.startTime:type_name -> google.protobuf.Timestamp
|
||||||
27, // 24: global.SubscriberSnapShot.audioReader:type_name -> global.RingReaderSnapShot
|
27, // 24: global.SubscriberSnapShot.audioReader:type_name -> global.RingReaderSnapShot
|
||||||
27, // 25: global.SubscriberSnapShot.videoReader:type_name -> global.RingReaderSnapShot
|
27, // 25: global.SubscriberSnapShot.videoReader:type_name -> global.RingReaderSnapShot
|
||||||
28, // 26: global.SubscribersResponse.list:type_name -> global.SubscriberSnapShot
|
28, // 26: global.SubscribersResponse.list:type_name -> global.SubscriberSnapShot
|
||||||
31, // 27: global.DeviceListResponse.data:type_name -> global.DeviceInfo
|
31, // 27: global.DeviceListResponse.data:type_name -> global.DeviceInfo
|
||||||
38, // 28: global.DeviceInfo.createTime:type_name -> google.protobuf.Timestamp
|
39, // 28: global.DeviceInfo.createTime:type_name -> google.protobuf.Timestamp
|
||||||
38, // 29: global.DeviceInfo.updateTime:type_name -> google.protobuf.Timestamp
|
39, // 29: global.DeviceInfo.updateTime:type_name -> google.protobuf.Timestamp
|
||||||
1, // 30: global.Formily.PropertiesEntry.value:type_name -> global.Formily
|
1, // 30: global.Formily.PropertiesEntry.value:type_name -> global.Formily
|
||||||
39, // 31: global.Formily.ComponentPropsEntry.value:type_name -> google.protobuf.Any
|
40, // 31: global.Formily.ComponentPropsEntry.value:type_name -> google.protobuf.Any
|
||||||
1, // 32: global.FormilyResponse.PropertiesEntry.value:type_name -> global.Formily
|
1, // 32: global.FormilyResponse.PropertiesEntry.value:type_name -> global.Formily
|
||||||
40, // 33: global.api.SysInfo:input_type -> google.protobuf.Empty
|
41, // 33: global.api.SysInfo:input_type -> google.protobuf.Empty
|
||||||
40, // 34: global.api.Summary:input_type -> google.protobuf.Empty
|
41, // 34: global.api.Summary:input_type -> google.protobuf.Empty
|
||||||
24, // 35: global.api.Shutdown:input_type -> global.RequestWithId
|
24, // 35: global.api.Shutdown:input_type -> global.RequestWithId
|
||||||
24, // 36: global.api.Restart:input_type -> global.RequestWithId
|
24, // 36: global.api.Restart:input_type -> global.RequestWithId
|
||||||
40, // 37: global.api.TaskTree:input_type -> google.protobuf.Empty
|
41, // 37: global.api.TaskTree:input_type -> google.protobuf.Empty
|
||||||
11, // 38: global.api.StreamList:input_type -> global.StreamListRequest
|
11, // 38: global.api.StreamList:input_type -> global.StreamListRequest
|
||||||
40, // 39: global.api.WaitList:input_type -> google.protobuf.Empty
|
41, // 39: global.api.WaitList:input_type -> google.protobuf.Empty
|
||||||
14, // 40: global.api.StreamInfo:input_type -> global.StreamSnapRequest
|
14, // 40: global.api.StreamInfo:input_type -> global.StreamSnapRequest
|
||||||
26, // 41: global.api.GetSubscribers:input_type -> global.SubscribersRequest
|
26, // 41: global.api.GetSubscribers:input_type -> global.SubscribersRequest
|
||||||
14, // 42: global.api.AudioTrackSnap:input_type -> global.StreamSnapRequest
|
14, // 42: global.api.AudioTrackSnap:input_type -> global.StreamSnapRequest
|
||||||
14, // 43: global.api.VideoTrackSnap:input_type -> global.StreamSnapRequest
|
14, // 43: global.api.VideoTrackSnap:input_type -> global.StreamSnapRequest
|
||||||
25, // 44: global.api.ChangeSubscribe:input_type -> global.ChangeSubscribeRequest
|
25, // 44: global.api.ChangeSubscribe:input_type -> global.ChangeSubscribeRequest
|
||||||
24, // 45: global.api.StopSubscribe:input_type -> global.RequestWithId
|
32, // 45: global.api.SetStreamAlias:input_type -> global.SetStreamAliasRequest
|
||||||
0, // 46: global.api.GetConfig:input_type -> global.GetConfigRequest
|
24, // 46: global.api.StopSubscribe:input_type -> global.RequestWithId
|
||||||
0, // 47: global.api.GetFormily:input_type -> global.GetConfigRequest
|
0, // 47: global.api.GetConfig:input_type -> global.GetConfigRequest
|
||||||
4, // 48: global.api.ModifyConfig:input_type -> global.ModifyConfigRequest
|
0, // 48: global.api.GetFormily:input_type -> global.GetConfigRequest
|
||||||
40, // 49: global.api.GetDeviceList:input_type -> google.protobuf.Empty
|
4, // 49: global.api.ModifyConfig:input_type -> global.ModifyConfigRequest
|
||||||
31, // 50: global.api.AddDevice:input_type -> global.DeviceInfo
|
41, // 50: global.api.GetDeviceList:input_type -> google.protobuf.Empty
|
||||||
24, // 51: global.api.RemoveDevice:input_type -> global.RequestWithId
|
31, // 51: global.api.AddDevice:input_type -> global.DeviceInfo
|
||||||
31, // 52: global.api.UpdateDevice:input_type -> global.DeviceInfo
|
24, // 52: global.api.RemoveDevice:input_type -> global.RequestWithId
|
||||||
9, // 53: global.api.SysInfo:output_type -> global.SysInfoResponse
|
31, // 53: global.api.UpdateDevice:input_type -> global.DeviceInfo
|
||||||
7, // 54: global.api.Summary:output_type -> global.SummaryResponse
|
9, // 54: global.api.SysInfo:output_type -> global.SysInfoResponse
|
||||||
40, // 55: global.api.Shutdown:output_type -> google.protobuf.Empty
|
7, // 55: global.api.Summary:output_type -> global.SummaryResponse
|
||||||
40, // 56: global.api.Restart:output_type -> google.protobuf.Empty
|
41, // 56: global.api.Shutdown:output_type -> google.protobuf.Empty
|
||||||
10, // 57: global.api.TaskTree:output_type -> global.TaskTreeResponse
|
41, // 57: global.api.Restart:output_type -> google.protobuf.Empty
|
||||||
12, // 58: global.api.StreamList:output_type -> global.StreamListResponse
|
10, // 58: global.api.TaskTree:output_type -> global.TaskTreeResponse
|
||||||
13, // 59: global.api.WaitList:output_type -> global.StreamWaitListResponse
|
12, // 59: global.api.StreamList:output_type -> global.StreamListResponse
|
||||||
15, // 60: global.api.StreamInfo:output_type -> global.StreamInfoResponse
|
13, // 60: global.api.WaitList:output_type -> global.StreamWaitListResponse
|
||||||
29, // 61: global.api.GetSubscribers:output_type -> global.SubscribersResponse
|
15, // 61: global.api.StreamInfo:output_type -> global.StreamInfoResponse
|
||||||
21, // 62: global.api.AudioTrackSnap:output_type -> global.TrackSnapShotResponse
|
29, // 62: global.api.GetSubscribers:output_type -> global.SubscribersResponse
|
||||||
21, // 63: global.api.VideoTrackSnap:output_type -> global.TrackSnapShotResponse
|
21, // 63: global.api.AudioTrackSnap:output_type -> global.TrackSnapShotResponse
|
||||||
23, // 64: global.api.ChangeSubscribe:output_type -> global.SuccessResponse
|
21, // 64: global.api.VideoTrackSnap:output_type -> global.TrackSnapShotResponse
|
||||||
23, // 65: global.api.StopSubscribe:output_type -> global.SuccessResponse
|
23, // 65: global.api.ChangeSubscribe:output_type -> global.SuccessResponse
|
||||||
3, // 66: global.api.GetConfig:output_type -> global.GetConfigResponse
|
23, // 66: global.api.SetStreamAlias:output_type -> global.SuccessResponse
|
||||||
3, // 67: global.api.GetFormily:output_type -> global.GetConfigResponse
|
23, // 67: global.api.StopSubscribe:output_type -> global.SuccessResponse
|
||||||
23, // 68: global.api.ModifyConfig:output_type -> global.SuccessResponse
|
3, // 68: global.api.GetConfig:output_type -> global.GetConfigResponse
|
||||||
30, // 69: global.api.GetDeviceList:output_type -> global.DeviceListResponse
|
3, // 69: global.api.GetFormily:output_type -> global.GetConfigResponse
|
||||||
23, // 70: global.api.AddDevice:output_type -> global.SuccessResponse
|
23, // 70: global.api.ModifyConfig:output_type -> global.SuccessResponse
|
||||||
23, // 71: global.api.RemoveDevice:output_type -> global.SuccessResponse
|
30, // 71: global.api.GetDeviceList:output_type -> global.DeviceListResponse
|
||||||
23, // 72: global.api.UpdateDevice:output_type -> global.SuccessResponse
|
23, // 72: global.api.AddDevice:output_type -> global.SuccessResponse
|
||||||
53, // [53:73] is the sub-list for method output_type
|
23, // 73: global.api.RemoveDevice:output_type -> global.SuccessResponse
|
||||||
33, // [33:53] is the sub-list for method input_type
|
23, // 74: global.api.UpdateDevice:output_type -> global.SuccessResponse
|
||||||
|
54, // [54:75] is the sub-list for method output_type
|
||||||
|
33, // [33:54] is the sub-list for method input_type
|
||||||
33, // [33:33] is the sub-list for extension type_name
|
33, // [33:33] is the sub-list for extension type_name
|
||||||
33, // [33:33] is the sub-list for extension extendee
|
33, // [33:33] is the sub-list for extension extendee
|
||||||
0, // [0:33] is the sub-list for field type_name
|
0, // [0:33] is the sub-list for field type_name
|
||||||
@@ -3300,6 +3371,18 @@ func file_global_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_global_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SetStreamAliasRequest); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@@ -3307,7 +3390,7 @@ func file_global_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_global_proto_rawDesc,
|
RawDescriptor: file_global_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 38,
|
NumMessages: 39,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
@@ -550,6 +550,66 @@ func local_request_Api_ChangeSubscribe_0(ctx context.Context, marshaler runtime.
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func request_Api_SetStreamAlias_0(ctx context.Context, marshaler runtime.Marshaler, client ApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq SetStreamAliasRequest
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
val string
|
||||||
|
ok bool
|
||||||
|
err error
|
||||||
|
_ = err
|
||||||
|
)
|
||||||
|
|
||||||
|
val, ok = pathParams["streamPath"]
|
||||||
|
if !ok {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "streamPath")
|
||||||
|
}
|
||||||
|
|
||||||
|
protoReq.StreamPath, err = runtime.String(val)
|
||||||
|
if err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "streamPath", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
msg, err := client.SetStreamAlias(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func local_request_Api_SetStreamAlias_0(ctx context.Context, marshaler runtime.Marshaler, server ApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq SetStreamAliasRequest
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
val string
|
||||||
|
ok bool
|
||||||
|
err error
|
||||||
|
_ = err
|
||||||
|
)
|
||||||
|
|
||||||
|
val, ok = pathParams["streamPath"]
|
||||||
|
if !ok {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "streamPath")
|
||||||
|
}
|
||||||
|
|
||||||
|
protoReq.StreamPath, err = runtime.String(val)
|
||||||
|
if err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "streamPath", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
msg, err := server.SetStreamAlias(ctx, &protoReq)
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func request_Api_StopSubscribe_0(ctx context.Context, marshaler runtime.Marshaler, client ApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
func request_Api_StopSubscribe_0(ctx context.Context, marshaler runtime.Marshaler, client ApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
var protoReq RequestWithId
|
var protoReq RequestWithId
|
||||||
var metadata runtime.ServerMetadata
|
var metadata runtime.ServerMetadata
|
||||||
@@ -1210,6 +1270,31 @@ func RegisterApiHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("POST", pattern_Api_SetStreamAlias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
|
defer cancel()
|
||||||
|
var stream runtime.ServerTransportStream
|
||||||
|
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
|
||||||
|
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||||
|
var err error
|
||||||
|
var annotatedContext context.Context
|
||||||
|
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/global.Api/SetStreamAlias", runtime.WithHTTPPathPattern("/api/stream/alias/{streamPath=**}"))
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := local_request_Api_SetStreamAlias_0(annotatedContext, inboundMarshaler, server, req, pathParams)
|
||||||
|
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
|
||||||
|
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_Api_SetStreamAlias_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
mux.Handle("POST", pattern_Api_StopSubscribe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
mux.Handle("POST", pattern_Api_StopSubscribe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
ctx, cancel := context.WithCancel(req.Context())
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@@ -1715,6 +1800,28 @@ func RegisterApiHandlerClient(ctx context.Context, mux *runtime.ServeMux, client
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("POST", pattern_Api_SetStreamAlias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
|
defer cancel()
|
||||||
|
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||||
|
var err error
|
||||||
|
var annotatedContext context.Context
|
||||||
|
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/global.Api/SetStreamAlias", runtime.WithHTTPPathPattern("/api/stream/alias/{streamPath=**}"))
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := request_Api_SetStreamAlias_0(annotatedContext, inboundMarshaler, client, req, pathParams)
|
||||||
|
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_Api_SetStreamAlias_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
mux.Handle("POST", pattern_Api_StopSubscribe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
mux.Handle("POST", pattern_Api_StopSubscribe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
ctx, cancel := context.WithCancel(req.Context())
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@@ -1919,6 +2026,8 @@ var (
|
|||||||
|
|
||||||
pattern_Api_ChangeSubscribe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 3, 0, 4, 1, 5, 4}, []string{"api", "subscribe", "change", "id", "streamPath"}, ""))
|
pattern_Api_ChangeSubscribe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 3, 0, 4, 1, 5, 4}, []string{"api", "subscribe", "change", "id", "streamPath"}, ""))
|
||||||
|
|
||||||
|
pattern_Api_SetStreamAlias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 3, 0, 4, 1, 5, 3}, []string{"api", "stream", "alias", "streamPath"}, ""))
|
||||||
|
|
||||||
pattern_Api_StopSubscribe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "subscribe", "stop", "id"}, ""))
|
pattern_Api_StopSubscribe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "subscribe", "stop", "id"}, ""))
|
||||||
|
|
||||||
pattern_Api_GetConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "config", "get", "name"}, ""))
|
pattern_Api_GetConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "config", "get", "name"}, ""))
|
||||||
@@ -1961,6 +2070,8 @@ var (
|
|||||||
|
|
||||||
forward_Api_ChangeSubscribe_0 = runtime.ForwardResponseMessage
|
forward_Api_ChangeSubscribe_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
|
forward_Api_SetStreamAlias_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
forward_Api_StopSubscribe_0 = runtime.ForwardResponseMessage
|
forward_Api_StopSubscribe_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
forward_Api_GetConfig_0 = runtime.ForwardResponseMessage
|
forward_Api_GetConfig_0 = runtime.ForwardResponseMessage
|
||||||
|
@@ -68,7 +68,12 @@ service api {
|
|||||||
body: "*"
|
body: "*"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
rpc SetStreamAlias (SetStreamAliasRequest) returns (SuccessResponse) {
|
||||||
|
option (google.api.http) = {
|
||||||
|
post: "/api/stream/alias/{streamPath=**}"
|
||||||
|
body: "*"
|
||||||
|
};
|
||||||
|
}
|
||||||
rpc StopSubscribe (RequestWithId) returns (SuccessResponse) {
|
rpc StopSubscribe (RequestWithId) returns (SuccessResponse) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
post: "/api/subscribe/stop/{id}"
|
post: "/api/subscribe/stop/{id}"
|
||||||
@@ -340,4 +345,9 @@ message DeviceInfo {
|
|||||||
string type = 6; // 设备类型
|
string type = 6; // 设备类型
|
||||||
uint32 status = 7; // 设备状态
|
uint32 status = 7; // 设备状态
|
||||||
string pullURL = 8; // 拉流地址
|
string pullURL = 8; // 拉流地址
|
||||||
|
}
|
||||||
|
|
||||||
|
message SetStreamAliasRequest {
|
||||||
|
string streamPath = 1;
|
||||||
|
string alias = 2;
|
||||||
}
|
}
|
@@ -35,6 +35,7 @@ type ApiClient interface {
|
|||||||
AudioTrackSnap(ctx context.Context, in *StreamSnapRequest, opts ...grpc.CallOption) (*TrackSnapShotResponse, error)
|
AudioTrackSnap(ctx context.Context, in *StreamSnapRequest, opts ...grpc.CallOption) (*TrackSnapShotResponse, error)
|
||||||
VideoTrackSnap(ctx context.Context, in *StreamSnapRequest, opts ...grpc.CallOption) (*TrackSnapShotResponse, error)
|
VideoTrackSnap(ctx context.Context, in *StreamSnapRequest, opts ...grpc.CallOption) (*TrackSnapShotResponse, error)
|
||||||
ChangeSubscribe(ctx context.Context, in *ChangeSubscribeRequest, opts ...grpc.CallOption) (*SuccessResponse, error)
|
ChangeSubscribe(ctx context.Context, in *ChangeSubscribeRequest, opts ...grpc.CallOption) (*SuccessResponse, error)
|
||||||
|
SetStreamAlias(ctx context.Context, in *SetStreamAliasRequest, opts ...grpc.CallOption) (*SuccessResponse, error)
|
||||||
StopSubscribe(ctx context.Context, in *RequestWithId, opts ...grpc.CallOption) (*SuccessResponse, error)
|
StopSubscribe(ctx context.Context, in *RequestWithId, opts ...grpc.CallOption) (*SuccessResponse, error)
|
||||||
GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error)
|
GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error)
|
||||||
GetFormily(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error)
|
GetFormily(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error)
|
||||||
@@ -161,6 +162,15 @@ func (c *apiClient) ChangeSubscribe(ctx context.Context, in *ChangeSubscribeRequ
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *apiClient) SetStreamAlias(ctx context.Context, in *SetStreamAliasRequest, opts ...grpc.CallOption) (*SuccessResponse, error) {
|
||||||
|
out := new(SuccessResponse)
|
||||||
|
err := c.cc.Invoke(ctx, "/global.api/SetStreamAlias", in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *apiClient) StopSubscribe(ctx context.Context, in *RequestWithId, opts ...grpc.CallOption) (*SuccessResponse, error) {
|
func (c *apiClient) StopSubscribe(ctx context.Context, in *RequestWithId, opts ...grpc.CallOption) (*SuccessResponse, error) {
|
||||||
out := new(SuccessResponse)
|
out := new(SuccessResponse)
|
||||||
err := c.cc.Invoke(ctx, "/global.api/StopSubscribe", in, out, opts...)
|
err := c.cc.Invoke(ctx, "/global.api/StopSubscribe", in, out, opts...)
|
||||||
@@ -249,6 +259,7 @@ type ApiServer interface {
|
|||||||
AudioTrackSnap(context.Context, *StreamSnapRequest) (*TrackSnapShotResponse, error)
|
AudioTrackSnap(context.Context, *StreamSnapRequest) (*TrackSnapShotResponse, error)
|
||||||
VideoTrackSnap(context.Context, *StreamSnapRequest) (*TrackSnapShotResponse, error)
|
VideoTrackSnap(context.Context, *StreamSnapRequest) (*TrackSnapShotResponse, error)
|
||||||
ChangeSubscribe(context.Context, *ChangeSubscribeRequest) (*SuccessResponse, error)
|
ChangeSubscribe(context.Context, *ChangeSubscribeRequest) (*SuccessResponse, error)
|
||||||
|
SetStreamAlias(context.Context, *SetStreamAliasRequest) (*SuccessResponse, error)
|
||||||
StopSubscribe(context.Context, *RequestWithId) (*SuccessResponse, error)
|
StopSubscribe(context.Context, *RequestWithId) (*SuccessResponse, error)
|
||||||
GetConfig(context.Context, *GetConfigRequest) (*GetConfigResponse, error)
|
GetConfig(context.Context, *GetConfigRequest) (*GetConfigResponse, error)
|
||||||
GetFormily(context.Context, *GetConfigRequest) (*GetConfigResponse, error)
|
GetFormily(context.Context, *GetConfigRequest) (*GetConfigResponse, error)
|
||||||
@@ -300,6 +311,9 @@ func (UnimplementedApiServer) VideoTrackSnap(context.Context, *StreamSnapRequest
|
|||||||
func (UnimplementedApiServer) ChangeSubscribe(context.Context, *ChangeSubscribeRequest) (*SuccessResponse, error) {
|
func (UnimplementedApiServer) ChangeSubscribe(context.Context, *ChangeSubscribeRequest) (*SuccessResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method ChangeSubscribe not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method ChangeSubscribe not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedApiServer) SetStreamAlias(context.Context, *SetStreamAliasRequest) (*SuccessResponse, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method SetStreamAlias not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedApiServer) StopSubscribe(context.Context, *RequestWithId) (*SuccessResponse, error) {
|
func (UnimplementedApiServer) StopSubscribe(context.Context, *RequestWithId) (*SuccessResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method StopSubscribe not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method StopSubscribe not implemented")
|
||||||
}
|
}
|
||||||
@@ -553,6 +567,24 @@ func _Api_ChangeSubscribe_Handler(srv interface{}, ctx context.Context, dec func
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _Api_SetStreamAlias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(SetStreamAliasRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(ApiServer).SetStreamAlias(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/global.api/SetStreamAlias",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(ApiServer).SetStreamAlias(ctx, req.(*SetStreamAliasRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
func _Api_StopSubscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _Api_StopSubscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(RequestWithId)
|
in := new(RequestWithId)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@@ -752,6 +784,10 @@ var Api_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "ChangeSubscribe",
|
MethodName: "ChangeSubscribe",
|
||||||
Handler: _Api_ChangeSubscribe_Handler,
|
Handler: _Api_ChangeSubscribe_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "SetStreamAlias",
|
||||||
|
Handler: _Api_SetStreamAlias_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "StopSubscribe",
|
MethodName: "StopSubscribe",
|
||||||
Handler: _Api_StopSubscribe_Handler,
|
Handler: _Api_StopSubscribe_Handler,
|
||||||
|
@@ -92,9 +92,7 @@ func (mt *Job) AddTask(t ITask, opt ...any) (task *Task) {
|
|||||||
case context.Context:
|
case context.Context:
|
||||||
task.parentCtx = v
|
task.parentCtx = v
|
||||||
case Description:
|
case Description:
|
||||||
for k, v := range v {
|
task.SetDescriptions(v)
|
||||||
task.Description.Store(k, v)
|
|
||||||
}
|
|
||||||
case RetryConfig:
|
case RetryConfig:
|
||||||
task.retry = v
|
task.retry = v
|
||||||
case *slog.Logger:
|
case *slog.Logger:
|
||||||
|
@@ -5,6 +5,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
|
"maps"
|
||||||
"reflect"
|
"reflect"
|
||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -63,6 +64,9 @@ type (
|
|||||||
IsStopped() bool
|
IsStopped() bool
|
||||||
GetTaskType() TaskType
|
GetTaskType() TaskType
|
||||||
GetOwnerType() string
|
GetOwnerType() string
|
||||||
|
GetDescriptions() map[string]string
|
||||||
|
SetDescription(key string, value any)
|
||||||
|
SetDescriptions(value Description)
|
||||||
SetRetry(maxRetry int, retryInterval time.Duration)
|
SetRetry(maxRetry int, retryInterval time.Duration)
|
||||||
Depend(ITask)
|
Depend(ITask)
|
||||||
OnStart(func())
|
OnStart(func())
|
||||||
@@ -113,7 +117,7 @@ type (
|
|||||||
handler ITask
|
handler ITask
|
||||||
retry RetryConfig
|
retry RetryConfig
|
||||||
afterStartListeners, beforeDisposeListeners, afterDisposeListeners []func()
|
afterStartListeners, beforeDisposeListeners, afterDisposeListeners []func()
|
||||||
Description sync.Map
|
description sync.Map
|
||||||
startup, shutdown *util.Promise
|
startup, shutdown *util.Promise
|
||||||
parent *Job
|
parent *Job
|
||||||
parentCtx context.Context
|
parentCtx context.Context
|
||||||
@@ -146,7 +150,7 @@ func (task *Task) GetTaskID() uint32 {
|
|||||||
return task.ID
|
return task.ID
|
||||||
}
|
}
|
||||||
func (task *Task) GetOwnerType() string {
|
func (task *Task) GetOwnerType() string {
|
||||||
if ownerType, ok := task.Description.Load(OwnerTypeKey); ok {
|
if ownerType, ok := task.description.Load(OwnerTypeKey); ok {
|
||||||
return ownerType.(string)
|
return ownerType.(string)
|
||||||
}
|
}
|
||||||
return strings.TrimSuffix(reflect.TypeOf(task.handler).Elem().Name(), "Task")
|
return strings.TrimSuffix(reflect.TypeOf(task.handler).Elem().Name(), "Task")
|
||||||
@@ -330,13 +334,25 @@ func (task *Task) reset() {
|
|||||||
task.startup = util.NewPromise(task.Context)
|
task.startup = util.NewPromise(task.Context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (task *Task) GetDescriptions() map[string]string {
|
||||||
|
return maps.Collect(func(yield func(key, value string) bool) {
|
||||||
|
task.description.Range(func(key, value any) bool {
|
||||||
|
return yield(key.(string), fmt.Sprintf("%+v", value))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (task *Task) SetDescription(key string, value any) {
|
func (task *Task) SetDescription(key string, value any) {
|
||||||
task.Description.Store(key, value)
|
task.description.Store(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (task *Task) RemoveDescription(key string) {
|
||||||
|
task.description.Delete(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (task *Task) SetDescriptions(value Description) {
|
func (task *Task) SetDescriptions(value Description) {
|
||||||
for k, v := range value {
|
for k, v := range value {
|
||||||
task.Description.Store(k, v)
|
task.description.Store(k, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -54,7 +54,7 @@ func NewAVTrack(args ...any) (t *AVTrack) {
|
|||||||
case *AVTrack:
|
case *AVTrack:
|
||||||
t.Logger = v.Logger.With("subtrack", t.FrameType.String())
|
t.Logger = v.Logger.With("subtrack", t.FrameType.String())
|
||||||
t.RingWriter = v.RingWriter
|
t.RingWriter = v.RingWriter
|
||||||
t.ready = util.NewPromiseWithTimeout(v.ready.Context, time.Second*5)
|
t.ready = util.NewPromiseWithTimeout(context.TODO(), time.Second*5)
|
||||||
case *config.Publish:
|
case *config.Publish:
|
||||||
t.RingWriter = NewRingWriter(v.RingSize)
|
t.RingWriter = NewRingWriter(v.RingSize)
|
||||||
t.BufferRange[0] = v.BufferTime
|
t.BufferRange[0] = v.BufferTime
|
||||||
|
@@ -38,7 +38,7 @@ func (cfg *MonitorPlugin) saveTask(task task.ITask) {
|
|||||||
th.TaskType = byte(task.GetTaskType())
|
th.TaskType = byte(task.GetTaskType())
|
||||||
th.Reason = task.StopReason().Error()
|
th.Reason = task.StopReason().Error()
|
||||||
th.Level = task.GetLevel()
|
th.Level = task.GetLevel()
|
||||||
b, _ := json.Marshal(task.GetTask().Description)
|
b, _ := json.Marshal(task.GetDescriptions())
|
||||||
th.Description = string(b)
|
th.Description = string(b)
|
||||||
cfg.DB.Create(&th)
|
cfg.DB.Create(&th)
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,6 @@ import (
|
|||||||
mpegts "m7s.live/m7s/v5/plugin/hls/pkg/ts"
|
mpegts "m7s.live/m7s/v5/plugin/hls/pkg/ts"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
type Receiver struct {
|
type Receiver struct {
|
||||||
task.Task
|
task.Task
|
||||||
Publisher *m7s.Publisher
|
Publisher *m7s.Publisher
|
||||||
@@ -31,7 +30,9 @@ func (r *Receiver) readPES() {
|
|||||||
var videoFrame *pkg.AnnexB
|
var videoFrame *pkg.AnnexB
|
||||||
var err error
|
var err error
|
||||||
defer func() {
|
defer func() {
|
||||||
r.Stop(err)
|
if err != nil {
|
||||||
|
r.Stop(err)
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
for pes := range r.TSStream.PESChan {
|
for pes := range r.TSStream.PESChan {
|
||||||
if r.Err() != nil {
|
if r.Err() != nil {
|
||||||
|
@@ -124,6 +124,7 @@ func NewServer(conf any) (s *Server) {
|
|||||||
"arch": sysruntime.GOARCH,
|
"arch": sysruntime.GOARCH,
|
||||||
"cpus": int32(sysruntime.NumCPU()),
|
"cpus": int32(sysruntime.NumCPU()),
|
||||||
})
|
})
|
||||||
|
s.StreamAlias = make(map[config.Regexp]string)
|
||||||
//s.Transforms.PublishEvent = make(chan *Publisher, 10)
|
//s.Transforms.PublishEvent = make(chan *Publisher, 10)
|
||||||
s.prometheusDesc.init()
|
s.prometheusDesc.init()
|
||||||
return
|
return
|
||||||
@@ -209,7 +210,7 @@ func (s *Server) Start() (err error) {
|
|||||||
}
|
}
|
||||||
if configYaml != nil {
|
if configYaml != nil {
|
||||||
if err = yaml.Unmarshal(configYaml, &cg); err != nil {
|
if err = yaml.Unmarshal(configYaml, &cg); err != nil {
|
||||||
s.Error("parsing yml error:", err)
|
s.Error("parsing yml", "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s.Config.Parse(&s.config, "GLOBAL")
|
s.Config.Parse(&s.config, "GLOBAL")
|
||||||
@@ -296,7 +297,7 @@ func (s *Server) Start() (err error) {
|
|||||||
s.Streams.OnStart(func() {
|
s.Streams.OnStart(func() {
|
||||||
s.Streams.AddTask(&CheckSubWaitTimeout{s: s})
|
s.Streams.AddTask(&CheckSubWaitTimeout{s: s})
|
||||||
})
|
})
|
||||||
s.Transforms.AddTask(&TransformsPublishEvent{Transforms: &s.Transforms})
|
// s.Transforms.AddTask(&TransformsPublishEvent{Transforms: &s.Transforms})
|
||||||
s.Info("server started")
|
s.Info("server started")
|
||||||
s.Post(func() error {
|
s.Post(func() error {
|
||||||
for plugin := range s.Plugins.Range {
|
for plugin := range s.Plugins.Range {
|
||||||
|
@@ -3,7 +3,6 @@ package m7s
|
|||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
@@ -63,6 +62,8 @@ type SubscriberCollection = util.Collection[uint32, *Subscriber]
|
|||||||
type Subscriber struct {
|
type Subscriber struct {
|
||||||
PubSubBase
|
PubSubBase
|
||||||
config.Subscribe
|
config.Subscribe
|
||||||
|
AliasStreamPath string
|
||||||
|
AliasKey config.Regexp
|
||||||
Publisher *Publisher
|
Publisher *Publisher
|
||||||
waitPublishDone *util.Promise
|
waitPublishDone *util.Promise
|
||||||
AudioReader, VideoReader *AVRingReader
|
AudioReader, VideoReader *AVRingReader
|
||||||
@@ -82,26 +83,59 @@ func createSubscriber(p *Plugin, streamPath string, conf config.Subscribe) *Subs
|
|||||||
return subscriber
|
return subscriber
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Subscriber) Start() (err error) {
|
func (s *Subscriber) setAlias(key config.Regexp, streamPath string) {
|
||||||
|
s.AliasKey = key
|
||||||
|
s.AliasStreamPath = s.StreamPath
|
||||||
|
s.StreamPath = streamPath
|
||||||
|
s.SetDescription("streamPath", streamPath)
|
||||||
|
s.SetDescription("alias", s.AliasStreamPath)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Subscriber) removeAlias() {
|
||||||
server := s.Plugin.Server
|
server := s.Plugin.Server
|
||||||
server.Subscribers.Add(s)
|
if s.Publisher != nil {
|
||||||
s.Info("subscribe")
|
s.Publisher.RemoveSubscriber(s)
|
||||||
|
} else {
|
||||||
|
if waitStream, ok := server.Waiting.Get(s.StreamPath); ok {
|
||||||
|
waitStream.Remove(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s.StreamPath = s.AliasStreamPath
|
||||||
|
s.AliasStreamPath = ""
|
||||||
|
s.AliasKey = config.Regexp{}
|
||||||
|
s.RemoveDescription("alias")
|
||||||
|
s.SetDescription("streamPath", s.StreamPath)
|
||||||
if publisher, ok := server.Streams.Get(s.StreamPath); ok {
|
if publisher, ok := server.Streams.Get(s.StreamPath); ok {
|
||||||
publisher.AddSubscriber(s)
|
publisher.AddSubscriber(s)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
for reg, streamPath := range server.StreamAlias {
|
if waitStream, ok := server.Waiting.Get(s.StreamPath); ok {
|
||||||
if g := reg.FindStringSubmatch(s.StreamPath); len(g) > 0 {
|
waitStream.Add(s)
|
||||||
for i, gg := range g {
|
} else {
|
||||||
streamPath = strings.ReplaceAll(streamPath, fmt.Sprintf("$%d", i), gg)
|
server.createWait(s.StreamPath).Add(s)
|
||||||
}
|
|
||||||
if publisher, ok = server.Streams.Get(streamPath); ok {
|
|
||||||
s.SetDescription("alias", streamPath)
|
|
||||||
publisher.AddSubscriber(s)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
for plugin := range server.Plugins.Range {
|
||||||
|
plugin.OnSubscribe(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Subscriber) Start() (err error) {
|
||||||
|
server := s.Plugin.Server
|
||||||
|
server.Subscribers.Add(s)
|
||||||
|
s.Info("subscribe")
|
||||||
|
|
||||||
|
for reg, streamPath := range server.StreamAlias {
|
||||||
|
if streamPath = reg.Replace(s.StreamPath, streamPath); streamPath != "" {
|
||||||
|
s.setAlias(reg, streamPath)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if publisher, ok := server.Streams.Get(s.StreamPath); ok {
|
||||||
|
publisher.AddSubscriber(s)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
if waitStream, ok := server.Waiting.Get(s.StreamPath); ok {
|
if waitStream, ok := server.Waiting.Get(s.StreamPath); ok {
|
||||||
waitStream.Add(s)
|
waitStream.Add(s)
|
||||||
} else {
|
} else {
|
||||||
|
@@ -40,10 +40,10 @@ type (
|
|||||||
util.Collection[string, *TransformedMap]
|
util.Collection[string, *TransformedMap]
|
||||||
//PublishEvent chan *Publisher
|
//PublishEvent chan *Publisher
|
||||||
}
|
}
|
||||||
TransformsPublishEvent struct {
|
// TransformsPublishEvent struct {
|
||||||
task.ChannelTask
|
// task.ChannelTask
|
||||||
Transforms *Transforms
|
// Transforms *Transforms
|
||||||
}
|
// }
|
||||||
)
|
)
|
||||||
|
|
||||||
//func (t *TransformsPublishEvent) GetSignal() any {
|
//func (t *TransformsPublishEvent) GetSignal() any {
|
||||||
|
Reference in New Issue
Block a user