Documentation ¶
Index ¶
- Variables
- func RegisterISGLBServer(s grpc.ServiceRegistrar, srv ISGLBServer)
- type ClientNeededSession
- func (*ClientNeededSession) Descriptor() ([]byte, []int)deprecated
- func (x *ClientNeededSession) GetSession() string
- func (x *ClientNeededSession) GetUser() string
- func (*ClientNeededSession) ProtoMessage()
- func (x *ClientNeededSession) ProtoReflect() protoreflect.Message
- func (x *ClientNeededSession) Reset()
- func (x *ClientNeededSession) String() string
- type ComputationReport
- func (*ComputationReport) Descriptor() ([]byte, []int)deprecated
- func (x *ComputationReport) GetNode() *ion.Node
- func (x *ComputationReport) GetReport() *any.Any
- func (*ComputationReport) ProtoMessage()
- func (x *ComputationReport) ProtoReflect() protoreflect.Message
- func (x *ComputationReport) Reset()
- func (x *ComputationReport) String() string
- type ForwardTrack
- func (*ForwardTrack) Descriptor() ([]byte, []int)deprecated
- func (x *ForwardTrack) GetLocalSessionId() string
- func (x *ForwardTrack) GetRemoteSessionId() string
- func (x *ForwardTrack) GetSrc() *ion.Node
- func (x *ForwardTrack) GetTracks() []*Subscription
- func (*ForwardTrack) ProtoMessage()
- func (x *ForwardTrack) ProtoReflect() protoreflect.Message
- func (x *ForwardTrack) Reset()
- func (x *ForwardTrack) String() string
- type ISGLBClient
- type ISGLBServer
- type ISGLB_SyncSFUClient
- type ISGLB_SyncSFUServer
- type ProceedTrack
- func (*ProceedTrack) Descriptor() ([]byte, []int)deprecated
- func (x *ProceedTrack) GetDstSessionId() string
- func (x *ProceedTrack) GetProcedure() *any.Any
- func (x *ProceedTrack) GetSrcSessionIdList() []string
- func (*ProceedTrack) ProtoMessage()
- func (x *ProceedTrack) ProtoReflect() protoreflect.Message
- func (x *ProceedTrack) Reset()
- func (x *ProceedTrack) String() string
- type QualityReport
- func (*QualityReport) Descriptor() ([]byte, []int)deprecated
- func (x *QualityReport) GetComputation() *ComputationReport
- func (m *QualityReport) GetReport() isQualityReport_Report
- func (x *QualityReport) GetTimestamp() *timestamp.Timestamp
- func (x *QualityReport) GetTransmission() *TransmissionReport
- func (*QualityReport) ProtoMessage()
- func (x *QualityReport) ProtoReflect() protoreflect.Message
- func (x *QualityReport) Reset()
- func (x *QualityReport) String() string
- type QualityReport_Computation
- type QualityReport_Transmission
- type SFUStatus
- func (*SFUStatus) Descriptor() ([]byte, []int)deprecated
- func (x *SFUStatus) GetClients() []*ClientNeededSession
- func (x *SFUStatus) GetForwardTracks() []*ForwardTrack
- func (x *SFUStatus) GetProceedTracks() []*ProceedTrack
- func (x *SFUStatus) GetSFU() *ion.Node
- func (*SFUStatus) ProtoMessage()
- func (x *SFUStatus) ProtoReflect() protoreflect.Message
- func (x *SFUStatus) Reset()
- func (x *SFUStatus) String() string
- type Subscription
- func (*Subscription) Descriptor() ([]byte, []int)deprecated
- func (x *Subscription) GetLayer() Subscription_Layer
- func (x *Subscription) GetMute() bool
- func (x *Subscription) GetTrackId() string
- func (*Subscription) ProtoMessage()
- func (x *Subscription) ProtoReflect() protoreflect.Message
- func (x *Subscription) Reset()
- func (x *Subscription) String() string
- type Subscription_Layer
- func (Subscription_Layer) Descriptor() protoreflect.EnumDescriptor
- func (x Subscription_Layer) Enum() *Subscription_Layer
- func (Subscription_Layer) EnumDescriptor() ([]byte, []int)deprecated
- func (x Subscription_Layer) Number() protoreflect.EnumNumber
- func (x Subscription_Layer) String() string
- func (Subscription_Layer) Type() protoreflect.EnumType
- type SyncRequest
- func (*SyncRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SyncRequest) GetReport() *QualityReport
- func (m *SyncRequest) GetRequest() isSyncRequest_Request
- func (x *SyncRequest) GetStatus() *SFUStatus
- func (*SyncRequest) ProtoMessage()
- func (x *SyncRequest) ProtoReflect() protoreflect.Message
- func (x *SyncRequest) Reset()
- func (x *SyncRequest) String() string
- type SyncRequest_Report
- type SyncRequest_Status
- type TransmissionReport
- func (*TransmissionReport) Descriptor() ([]byte, []int)deprecated
- func (x *TransmissionReport) GetDst() *ion.Node
- func (x *TransmissionReport) GetReport() *any.Any
- func (x *TransmissionReport) GetSrc() *ion.Node
- func (*TransmissionReport) ProtoMessage()
- func (x *TransmissionReport) ProtoReflect() protoreflect.Message
- func (x *TransmissionReport) Reset()
- func (x *TransmissionReport) String() string
- type UnimplementedISGLBServer
- type UnsafeISGLBServer
Constants ¶
This section is empty.
Variables ¶
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.
var File_proto_isglb_proto protoreflect.FileDescriptor
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) GetClients ¶
func (x *SFUStatus) GetClients() []*ClientNeededSession
func (*SFUStatus) GetForwardTracks ¶
func (x *SFUStatus) GetForwardTracks() []*ForwardTrack
func (*SFUStatus) GetProceedTracks ¶
func (x *SFUStatus) GetProceedTracks() []*ProceedTrack
func (*SFUStatus) ProtoMessage ¶
func (*SFUStatus) ProtoMessage()
func (*SFUStatus) ProtoReflect ¶
func (x *SFUStatus) ProtoReflect() protoreflect.Message
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) Descriptor() protoreflect.EnumDescriptor
func (Subscription_Layer) Enum ¶
func (x Subscription_Layer) Enum() *Subscription_Layer
func (Subscription_Layer) EnumDescriptor
deprecated
func (Subscription_Layer) EnumDescriptor() ([]byte, []int)
Deprecated: Use Subscription_Layer.Descriptor instead.
func (Subscription_Layer) Number ¶
func (x Subscription_Layer) Number() protoreflect.EnumNumber
func (Subscription_Layer) String ¶
func (x Subscription_Layer) String() string
func (Subscription_Layer) Type ¶
func (Subscription_Layer) Type() protoreflect.EnumType
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 ¶
func (UnimplementedISGLBServer) SyncSFU(ISGLB_SyncSFUServer) error
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.