proto

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Subscription_Layer_name = map[int32]string{
		0: "Q",
		1: "H",
		2: "F",
	}
	Subscription_Layer_value = map[string]int32{
		"Q": 0,
		"H": 1,
		"F": 2,
	}
)

Enum value maps for Subscription_Layer.

View Source
var File_proto_isglb_proto protoreflect.FileDescriptor
View Source
var ISGLB_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "islb.ISGLB",
	HandlerType: (*ISGLBServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SyncSFU",
			Handler:       _ISGLB_SyncSFU_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "proto/isglb.proto",
}

ISGLB_ServiceDesc is the grpc.ServiceDesc for ISGLB service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterISGLBServer

func RegisterISGLBServer(s grpc.ServiceRegistrar, srv ISGLBServer)

Types

type ClientNeededSession

type ClientNeededSession struct {
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	User    string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	// contains filtered or unexported fields
}

Which session do the client need. May be a lot of track in one session

func (*ClientNeededSession) Descriptor deprecated

func (*ClientNeededSession) Descriptor() ([]byte, []int)

Deprecated: Use ClientNeededSession.ProtoReflect.Descriptor instead.

func (*ClientNeededSession) GetSession

func (x *ClientNeededSession) GetSession() string

func (*ClientNeededSession) GetUser

func (x *ClientNeededSession) GetUser() string

func (*ClientNeededSession) ProtoMessage

func (*ClientNeededSession) ProtoMessage()

func (*ClientNeededSession) ProtoReflect

func (x *ClientNeededSession) ProtoReflect() protoreflect.Message

func (*ClientNeededSession) Reset

func (x *ClientNeededSession) Reset()

func (*ClientNeededSession) String

func (x *ClientNeededSession) String() string

type ComputationReport

type ComputationReport struct {
	Node   *ion.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	Report *any.Any  `protobuf:"bytes,2,opt,name=report,proto3" json:"report,omitempty"` //TODO: Add a more specific Report type
	// contains filtered or unexported fields
}

func (*ComputationReport) Descriptor deprecated

func (*ComputationReport) Descriptor() ([]byte, []int)

Deprecated: Use ComputationReport.ProtoReflect.Descriptor instead.

func (*ComputationReport) GetNode

func (x *ComputationReport) GetNode() *ion.Node

func (*ComputationReport) GetReport

func (x *ComputationReport) GetReport() *any.Any

func (*ComputationReport) ProtoMessage

func (*ComputationReport) ProtoMessage()

func (*ComputationReport) ProtoReflect

func (x *ComputationReport) ProtoReflect() protoreflect.Message

func (*ComputationReport) Reset

func (x *ComputationReport) Reset()

func (*ComputationReport) String

func (x *ComputationReport) String() string

type ForwardTrack

type ForwardTrack struct {

	//  src + remoteSessionId is unique, use it as key
	Src             *ion.Node       `protobuf:"bytes,1,opt,name=src,proto3" json:"src,omitempty"`
	RemoteSessionId string          `protobuf:"bytes,2,opt,name=remoteSessionId,proto3" json:"remoteSessionId,omitempty"` // The video/audio has session id in different nodes
	LocalSessionId  string          `protobuf:"bytes,3,opt,name=localSessionId,proto3" json:"localSessionId,omitempty"`   // The video/audio has session id in different nodes
	Tracks          []*Subscription `protobuf:"bytes,4,rep,name=tracks,proto3" json:"tracks,omitempty"`
	// contains filtered or unexported fields
}

The track in session `remoteSessionId` from `src` node was/should forwarded to local session `localSessionId`

func (*ForwardTrack) Descriptor deprecated

func (*ForwardTrack) Descriptor() ([]byte, []int)

Deprecated: Use ForwardTrack.ProtoReflect.Descriptor instead.

func (*ForwardTrack) GetLocalSessionId

func (x *ForwardTrack) GetLocalSessionId() string

func (*ForwardTrack) GetRemoteSessionId

func (x *ForwardTrack) GetRemoteSessionId() string

func (*ForwardTrack) GetSrc

func (x *ForwardTrack) GetSrc() *ion.Node

func (*ForwardTrack) GetTracks

func (x *ForwardTrack) GetTracks() []*Subscription

func (*ForwardTrack) ProtoMessage

func (*ForwardTrack) ProtoMessage()

func (*ForwardTrack) ProtoReflect

func (x *ForwardTrack) ProtoReflect() protoreflect.Message

func (*ForwardTrack) Reset

func (x *ForwardTrack) Reset()

func (*ForwardTrack) String

func (x *ForwardTrack) String() string

type ISGLBClient

type ISGLBClient interface {
	// When forward path changed, upload the SFUStatus from client to ISGLB
	// When forward path should change, send expected SFUStatus from ISGLB to client
	// Report the communication quality or computation quality of the edge
	SyncSFU(ctx context.Context, opts ...grpc.CallOption) (ISGLB_SyncSFUClient, error)
}

ISGLBClient is the client API for ISGLB service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewISGLBClient

func NewISGLBClient(cc grpc.ClientConnInterface) ISGLBClient

type ISGLBServer

type ISGLBServer interface {
	// When forward path changed, upload the SFUStatus from client to ISGLB
	// When forward path should change, send expected SFUStatus from ISGLB to client
	// Report the communication quality or computation quality of the edge
	SyncSFU(ISGLB_SyncSFUServer) error
	// contains filtered or unexported methods
}

ISGLBServer is the server API for ISGLB service. All implementations must embed UnimplementedISGLBServer for forward compatibility

type ISGLB_SyncSFUClient

type ISGLB_SyncSFUClient interface {
	Send(*SyncRequest) error
	Recv() (*SFUStatus, error)
	grpc.ClientStream
}

type ISGLB_SyncSFUServer

type ISGLB_SyncSFUServer interface {
	Send(*SFUStatus) error
	Recv() (*SyncRequest, error)
	grpc.ServerStream
}

type ProceedTrack

type ProceedTrack struct {
	DstSessionId     string   `protobuf:"bytes,1,opt,name=dstSessionId,proto3" json:"dstSessionId,omitempty"`
	Procedure        *any.Any `protobuf:"bytes,2,opt,name=procedure,proto3" json:"procedure,omitempty"`               //src track should be proceeded by what kind of procedure
	SrcSessionIdList []string `protobuf:"bytes,3,rep,name=srcSessionIdList,proto3" json:"srcSessionIdList,omitempty"` //TODO: procedure should be more specific
	// contains filtered or unexported fields
}

The track from srcSessionId was/should be proceeded and output track's session id is `dstSessionId`

func (*ProceedTrack) Descriptor deprecated

func (*ProceedTrack) Descriptor() ([]byte, []int)

Deprecated: Use ProceedTrack.ProtoReflect.Descriptor instead.

func (*ProceedTrack) GetDstSessionId

func (x *ProceedTrack) GetDstSessionId() string

func (*ProceedTrack) GetProcedure

func (x *ProceedTrack) GetProcedure() *any.Any

func (*ProceedTrack) GetSrcSessionIdList

func (x *ProceedTrack) GetSrcSessionIdList() []string

func (*ProceedTrack) ProtoMessage

func (*ProceedTrack) ProtoMessage()

func (*ProceedTrack) ProtoReflect

func (x *ProceedTrack) ProtoReflect() protoreflect.Message

func (*ProceedTrack) Reset

func (x *ProceedTrack) Reset()

func (*ProceedTrack) String

func (x *ProceedTrack) String() string

type QualityReport

type QualityReport struct {
	Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to Report:
	//	*QualityReport_Transmission
	//	*QualityReport_Computation
	Report isQualityReport_Report `protobuf_oneof:"report"`
	// contains filtered or unexported fields
}

func (*QualityReport) Descriptor deprecated

func (*QualityReport) Descriptor() ([]byte, []int)

Deprecated: Use QualityReport.ProtoReflect.Descriptor instead.

func (*QualityReport) GetComputation

func (x *QualityReport) GetComputation() *ComputationReport

func (*QualityReport) GetReport

func (m *QualityReport) GetReport() isQualityReport_Report

func (*QualityReport) GetTimestamp

func (x *QualityReport) GetTimestamp() *timestamp.Timestamp

func (*QualityReport) GetTransmission

func (x *QualityReport) GetTransmission() *TransmissionReport

func (*QualityReport) ProtoMessage

func (*QualityReport) ProtoMessage()

func (*QualityReport) ProtoReflect

func (x *QualityReport) ProtoReflect() protoreflect.Message

func (*QualityReport) Reset

func (x *QualityReport) Reset()

func (*QualityReport) String

func (x *QualityReport) String() string

type QualityReport_Computation

type QualityReport_Computation struct {
	Computation *ComputationReport `protobuf:"bytes,3,opt,name=computation,proto3,oneof"`
}

type QualityReport_Transmission

type QualityReport_Transmission struct {
	Transmission *TransmissionReport `protobuf:"bytes,2,opt,name=transmission,proto3,oneof"`
}

type SFUStatus

type SFUStatus struct {
	SFU           *ion.Node              `protobuf:"bytes,1,opt,name=SFU,proto3" json:"SFU,omitempty"`
	ForwardTracks []*ForwardTrack        `protobuf:"bytes,2,rep,name=forwardTracks,proto3" json:"forwardTracks,omitempty"`
	ProceedTracks []*ProceedTrack        `protobuf:"bytes,3,rep,name=proceedTracks,proto3" json:"proceedTracks,omitempty"`
	Clients       []*ClientNeededSession `protobuf:"bytes,4,rep,name=clients,proto3" json:"clients,omitempty"`
	// contains filtered or unexported fields
}

TODO: move SFUStatus to SFU module

func (*SFUStatus) Descriptor deprecated

func (*SFUStatus) Descriptor() ([]byte, []int)

Deprecated: Use SFUStatus.ProtoReflect.Descriptor instead.

func (*SFUStatus) GetClients

func (x *SFUStatus) GetClients() []*ClientNeededSession

func (*SFUStatus) GetForwardTracks

func (x *SFUStatus) GetForwardTracks() []*ForwardTrack

func (*SFUStatus) GetProceedTracks

func (x *SFUStatus) GetProceedTracks() []*ProceedTrack

func (*SFUStatus) GetSFU

func (x *SFUStatus) GetSFU() *ion.Node

func (*SFUStatus) ProtoMessage

func (*SFUStatus) ProtoMessage()

func (*SFUStatus) ProtoReflect

func (x *SFUStatus) ProtoReflect() protoreflect.Message

func (*SFUStatus) Reset

func (x *SFUStatus) Reset()

func (*SFUStatus) String

func (x *SFUStatus) String() string

type Subscription

type Subscription struct {
	TrackId string             `protobuf:"bytes,1,opt,name=TrackId,proto3" json:"TrackId,omitempty"`
	Mute    bool               `protobuf:"varint,2,opt,name=Mute,proto3" json:"Mute,omitempty"`
	Layer   Subscription_Layer `protobuf:"varint,3,opt,name=layer,proto3,enum=islb.Subscription_Layer" json:"layer,omitempty"`
	// contains filtered or unexported fields
}

func (*Subscription) Descriptor deprecated

func (*Subscription) Descriptor() ([]byte, []int)

Deprecated: Use Subscription.ProtoReflect.Descriptor instead.

func (*Subscription) GetLayer

func (x *Subscription) GetLayer() Subscription_Layer

func (*Subscription) GetMute

func (x *Subscription) GetMute() bool

func (*Subscription) GetTrackId

func (x *Subscription) GetTrackId() string

func (*Subscription) ProtoMessage

func (*Subscription) ProtoMessage()

func (*Subscription) ProtoReflect

func (x *Subscription) ProtoReflect() protoreflect.Message

func (*Subscription) Reset

func (x *Subscription) Reset()

func (*Subscription) String

func (x *Subscription) String() string

type Subscription_Layer

type Subscription_Layer int32
const (
	Subscription_Q Subscription_Layer = 0
	Subscription_H Subscription_Layer = 1
	Subscription_F Subscription_Layer = 2
)

func (Subscription_Layer) Descriptor

func (Subscription_Layer) Enum

func (Subscription_Layer) EnumDescriptor deprecated

func (Subscription_Layer) EnumDescriptor() ([]byte, []int)

Deprecated: Use Subscription_Layer.Descriptor instead.

func (Subscription_Layer) Number

func (Subscription_Layer) String

func (x Subscription_Layer) String() string

func (Subscription_Layer) Type

type SyncRequest

type SyncRequest struct {

	// Types that are assignable to Request:
	//	*SyncRequest_Status
	//	*SyncRequest_Report
	Request isSyncRequest_Request `protobuf_oneof:"request"`
	// contains filtered or unexported fields
}

func (*SyncRequest) Descriptor deprecated

func (*SyncRequest) Descriptor() ([]byte, []int)

Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead.

func (*SyncRequest) GetReport

func (x *SyncRequest) GetReport() *QualityReport

func (*SyncRequest) GetRequest

func (m *SyncRequest) GetRequest() isSyncRequest_Request

func (*SyncRequest) GetStatus

func (x *SyncRequest) GetStatus() *SFUStatus

func (*SyncRequest) ProtoMessage

func (*SyncRequest) ProtoMessage()

func (*SyncRequest) ProtoReflect

func (x *SyncRequest) ProtoReflect() protoreflect.Message

func (*SyncRequest) Reset

func (x *SyncRequest) Reset()

func (*SyncRequest) String

func (x *SyncRequest) String() string

type SyncRequest_Report

type SyncRequest_Report struct {
	Report *QualityReport `protobuf:"bytes,2,opt,name=report,proto3,oneof"`
}

type SyncRequest_Status

type SyncRequest_Status struct {
	Status *SFUStatus `protobuf:"bytes,1,opt,name=status,proto3,oneof"`
}

type TransmissionReport

type TransmissionReport struct {
	Src    *ion.Node `protobuf:"bytes,1,opt,name=src,proto3" json:"src,omitempty"`
	Dst    *ion.Node `protobuf:"bytes,2,opt,name=dst,proto3" json:"dst,omitempty"`
	Report *any.Any  `protobuf:"bytes,3,opt,name=report,proto3" json:"report,omitempty"` //TODO: Add a more specific Report type
	// contains filtered or unexported fields
}

func (*TransmissionReport) Descriptor deprecated

func (*TransmissionReport) Descriptor() ([]byte, []int)

Deprecated: Use TransmissionReport.ProtoReflect.Descriptor instead.

func (*TransmissionReport) GetDst

func (x *TransmissionReport) GetDst() *ion.Node

func (*TransmissionReport) GetReport

func (x *TransmissionReport) GetReport() *any.Any

func (*TransmissionReport) GetSrc

func (x *TransmissionReport) GetSrc() *ion.Node

func (*TransmissionReport) ProtoMessage

func (*TransmissionReport) ProtoMessage()

func (*TransmissionReport) ProtoReflect

func (x *TransmissionReport) ProtoReflect() protoreflect.Message

func (*TransmissionReport) Reset

func (x *TransmissionReport) Reset()

func (*TransmissionReport) String

func (x *TransmissionReport) String() string

type UnimplementedISGLBServer

type UnimplementedISGLBServer struct {
}

UnimplementedISGLBServer must be embedded to have forward compatible implementations.

func (UnimplementedISGLBServer) SyncSFU

type UnsafeISGLBServer

type UnsafeISGLBServer interface {
	// contains filtered or unexported methods
}

UnsafeISGLBServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ISGLBServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL