rpc

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2023 License: Apache-2.0 Imports: 10 Imported by: 34

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_rpc_egress_proto protoreflect.FileDescriptor
View Source
var File_rpc_ingress_proto protoreflect.FileDescriptor
View Source
var File_rpc_io_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type EgressClient

type EgressClient interface {
	EgressInternalClient
	EgressHandlerClient
}

func NewEgressClient

func NewEgressClient(nodeID livekit.NodeID, bus psrpc.MessageBus) (EgressClient, error)

type EgressHandlerClient

func NewEgressHandlerClient

func NewEgressHandlerClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (EgressHandlerClient, error)

NewEgressHandlerClient creates a psrpc client that implements the EgressHandlerClient interface.

type EgressHandlerServer

type EgressHandlerServer interface {
	RegisterUpdateStreamTopic(string) error
	DeregisterUpdateStreamTopic(string)

	RegisterStopEgressTopic(string) error
	DeregisterStopEgressTopic(string)

	// Close and wait for pending RPCs to complete
	Shutdown()

	// Close immediately, without waiting for pending RPCs
	Kill()
}

func NewEgressHandlerServer

func NewEgressHandlerServer(serverID string, svc EgressHandlerServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (EgressHandlerServer, error)

NewEgressHandlerServer builds a RPCServer that will route requests to the corresponding method in the provided svc implementation.

type EgressHandlerServerImpl

type EgressHandlerServerImpl interface {
	UpdateStream(context.Context, *livekit.UpdateStreamRequest) (*livekit.EgressInfo, error)

	StopEgress(context.Context, *livekit.StopEgressRequest) (*livekit.EgressInfo, error)
}

type EgressInternalClient

type EgressInternalClient interface {
	StartEgress(context.Context, string, *StartEgressRequest, ...psrpc.RequestOption) (*livekit.EgressInfo, error)

	ListActiveEgress(context.Context, *ListActiveEgressRequest, ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveEgressResponse], error)
}

func NewEgressInternalClient

func NewEgressInternalClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (EgressInternalClient, error)

NewEgressInternalClient creates a psrpc client that implements the EgressInternalClient interface.

type EgressInternalServer

type EgressInternalServer interface {
	RegisterStartEgressTopic(string) error
	DeregisterStartEgressTopic(string)

	// Close and wait for pending RPCs to complete
	Shutdown()

	// Close immediately, without waiting for pending RPCs
	Kill()
}

func NewEgressInternalServer

func NewEgressInternalServer(serverID string, svc EgressInternalServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (EgressInternalServer, error)

NewEgressInternalServer builds a RPCServer that will route requests to the corresponding method in the provided svc implementation.

type EgressInternalServerImpl

type EgressInternalServerImpl interface {
	StartEgress(context.Context, *StartEgressRequest) (*livekit.EgressInfo, error)
	StartEgressAffinity(*StartEgressRequest) float32

	ListActiveEgress(context.Context, *ListActiveEgressRequest) (*ListActiveEgressResponse, error)
}

type GetIngressInfoRequest

type GetIngressInfoRequest struct {
	IngressId string `protobuf:"bytes,1,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"`
	StreamKey string `protobuf:"bytes,2,opt,name=stream_key,json=streamKey,proto3" json:"stream_key,omitempty"`
	// contains filtered or unexported fields
}

Query an ingress info from an ingress ID or stream key

func (*GetIngressInfoRequest) Descriptor deprecated

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

Deprecated: Use GetIngressInfoRequest.ProtoReflect.Descriptor instead.

func (*GetIngressInfoRequest) GetIngressId

func (x *GetIngressInfoRequest) GetIngressId() string

func (*GetIngressInfoRequest) GetStreamKey

func (x *GetIngressInfoRequest) GetStreamKey() string

func (*GetIngressInfoRequest) ProtoMessage

func (*GetIngressInfoRequest) ProtoMessage()

func (*GetIngressInfoRequest) ProtoReflect

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

func (*GetIngressInfoRequest) Reset

func (x *GetIngressInfoRequest) Reset()

func (*GetIngressInfoRequest) String

func (x *GetIngressInfoRequest) String() string

type GetIngressInfoResponse

type GetIngressInfoResponse struct {
	Info  *livekit.IngressInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	Token string               `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	WsUrl string               `protobuf:"bytes,3,opt,name=ws_url,json=wsUrl,proto3" json:"ws_url,omitempty"`
	// contains filtered or unexported fields
}

func (*GetIngressInfoResponse) Descriptor deprecated

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

Deprecated: Use GetIngressInfoResponse.ProtoReflect.Descriptor instead.

func (*GetIngressInfoResponse) GetInfo

func (*GetIngressInfoResponse) GetToken

func (x *GetIngressInfoResponse) GetToken() string

func (*GetIngressInfoResponse) GetWsUrl

func (x *GetIngressInfoResponse) GetWsUrl() string

func (*GetIngressInfoResponse) ProtoMessage

func (*GetIngressInfoResponse) ProtoMessage()

func (*GetIngressInfoResponse) ProtoReflect

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

func (*GetIngressInfoResponse) Reset

func (x *GetIngressInfoResponse) Reset()

func (*GetIngressInfoResponse) String

func (x *GetIngressInfoResponse) String() string

type IOInfoClient

func NewIOInfoClient

func NewIOInfoClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (IOInfoClient, error)

NewIOInfoClient creates a psrpc client that implements the IOInfoClient interface.

type IOInfoServer

type IOInfoServer interface {
	// Close and wait for pending RPCs to complete
	Shutdown()

	// Close immediately, without waiting for pending RPCs
	Kill()
}

func NewIOInfoServer

func NewIOInfoServer(serverID string, svc IOInfoServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (IOInfoServer, error)

NewIOInfoServer builds a RPCServer that will route requests to the corresponding method in the provided svc implementation.

type IngressClient

type IngressClient interface {
	IngressInternalClient
	IngressHandlerClient
}

func NewIngressClient

func NewIngressClient(nodeID livekit.NodeID, bus psrpc.MessageBus) (IngressClient, error)

type IngressHandlerClient

func NewIngressHandlerClient

func NewIngressHandlerClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (IngressHandlerClient, error)

NewIngressHandlerClient creates a psrpc client that implements the IngressHandlerClient interface.

type IngressHandlerServer

type IngressHandlerServer interface {
	RegisterUpdateIngressTopic(string) error
	DeregisterUpdateIngressTopic(string)

	RegisterDeleteIngressTopic(string) error
	DeregisterDeleteIngressTopic(string)

	// Close and wait for pending RPCs to complete
	Shutdown()

	// Close immediately, without waiting for pending RPCs
	Kill()
}

func NewIngressHandlerServer

func NewIngressHandlerServer(serverID string, svc IngressHandlerServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (IngressHandlerServer, error)

NewIngressHandlerServer builds a RPCServer that will route requests to the corresponding method in the provided svc implementation.

type IngressHandlerServerImpl

type IngressHandlerServerImpl interface {
	UpdateIngress(context.Context, *livekit2.UpdateIngressRequest) (*livekit2.IngressState, error)

	DeleteIngress(context.Context, *livekit2.DeleteIngressRequest) (*livekit2.IngressState, error)
}

type IngressInternalClient

type IngressInternalClient interface {
	ListActiveIngress(context.Context, *ListActiveIngressRequest, ...psrpc.RequestOption) (<-chan *psrpc.Response[*ListActiveIngressResponse], error)
}

func NewIngressInternalClient

func NewIngressInternalClient(clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (IngressInternalClient, error)

NewIngressInternalClient creates a psrpc client that implements the IngressInternalClient interface.

type IngressInternalServer

type IngressInternalServer interface {
	// Close and wait for pending RPCs to complete
	Shutdown()

	// Close immediately, without waiting for pending RPCs
	Kill()
}

func NewIngressInternalServer

func NewIngressInternalServer(serverID string, svc IngressInternalServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (IngressInternalServer, error)

NewIngressInternalServer builds a RPCServer that will route requests to the corresponding method in the provided svc implementation.

type IngressInternalServerImpl

type IngressInternalServerImpl interface {
	ListActiveIngress(context.Context, *ListActiveIngressRequest) (*ListActiveIngressResponse, error)
}

type ListActiveEgressRequest

type ListActiveEgressRequest struct {
	// contains filtered or unexported fields
}

func (*ListActiveEgressRequest) Descriptor deprecated

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

Deprecated: Use ListActiveEgressRequest.ProtoReflect.Descriptor instead.

func (*ListActiveEgressRequest) ProtoMessage

func (*ListActiveEgressRequest) ProtoMessage()

func (*ListActiveEgressRequest) ProtoReflect

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

func (*ListActiveEgressRequest) Reset

func (x *ListActiveEgressRequest) Reset()

func (*ListActiveEgressRequest) String

func (x *ListActiveEgressRequest) String() string

type ListActiveEgressResponse

type ListActiveEgressResponse struct {
	EgressIds []string `protobuf:"bytes,1,rep,name=egress_ids,json=egressIds,proto3" json:"egress_ids,omitempty"`
	// contains filtered or unexported fields
}

func (*ListActiveEgressResponse) Descriptor deprecated

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

Deprecated: Use ListActiveEgressResponse.ProtoReflect.Descriptor instead.

func (*ListActiveEgressResponse) GetEgressIds

func (x *ListActiveEgressResponse) GetEgressIds() []string

func (*ListActiveEgressResponse) ProtoMessage

func (*ListActiveEgressResponse) ProtoMessage()

func (*ListActiveEgressResponse) ProtoReflect

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

func (*ListActiveEgressResponse) Reset

func (x *ListActiveEgressResponse) Reset()

func (*ListActiveEgressResponse) String

func (x *ListActiveEgressResponse) String() string

type ListActiveIngressRequest

type ListActiveIngressRequest struct {
	// contains filtered or unexported fields
}

func (*ListActiveIngressRequest) Descriptor deprecated

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

Deprecated: Use ListActiveIngressRequest.ProtoReflect.Descriptor instead.

func (*ListActiveIngressRequest) ProtoMessage

func (*ListActiveIngressRequest) ProtoMessage()

func (*ListActiveIngressRequest) ProtoReflect

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

func (*ListActiveIngressRequest) Reset

func (x *ListActiveIngressRequest) Reset()

func (*ListActiveIngressRequest) String

func (x *ListActiveIngressRequest) String() string

type ListActiveIngressResponse

type ListActiveIngressResponse struct {
	IngressIds []string `protobuf:"bytes,1,rep,name=ingress_ids,json=ingressIds,proto3" json:"ingress_ids,omitempty"`
	// contains filtered or unexported fields
}

func (*ListActiveIngressResponse) Descriptor deprecated

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

Deprecated: Use ListActiveIngressResponse.ProtoReflect.Descriptor instead.

func (*ListActiveIngressResponse) GetIngressIds

func (x *ListActiveIngressResponse) GetIngressIds() []string

func (*ListActiveIngressResponse) ProtoMessage

func (*ListActiveIngressResponse) ProtoMessage()

func (*ListActiveIngressResponse) ProtoReflect

func (*ListActiveIngressResponse) Reset

func (x *ListActiveIngressResponse) Reset()

func (*ListActiveIngressResponse) String

func (x *ListActiveIngressResponse) String() string

type Race

type Race[T any] struct {
	// contains filtered or unexported fields
}

func NewRace

func NewRace[T any](ctx context.Context) *Race[T]

NewRace creates a race to yield the result from one or more candidate functions

func (*Race[T]) Go

func (r *Race[T]) Go(fn func(ctx context.Context) (*T, error))

Go adds a candidate function to the race by running it in a new goroutine

func (*Race[T]) Wait

func (r *Race[T]) Wait() (int, *T, error)

Wait awaits the first complete function and returns the index and results or -1 if the context is cancelled before any candidate finishes.

type StartEgressRequest

type StartEgressRequest struct {

	// request metadata
	EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"`
	// request
	//
	// Types that are assignable to Request:
	//
	//	*StartEgressRequest_RoomComposite
	//	*StartEgressRequest_TrackComposite
	//	*StartEgressRequest_Track
	//	*StartEgressRequest_Web
	Request isStartEgressRequest_Request `protobuf_oneof:"request"`
	// connection info
	RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	Token  string `protobuf:"bytes,8,opt,name=token,proto3" json:"token,omitempty"`
	WsUrl  string `protobuf:"bytes,9,opt,name=ws_url,json=wsUrl,proto3" json:"ws_url,omitempty"`
	// contains filtered or unexported fields
}

func (*StartEgressRequest) Descriptor deprecated

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

Deprecated: Use StartEgressRequest.ProtoReflect.Descriptor instead.

func (*StartEgressRequest) GetEgressId

func (x *StartEgressRequest) GetEgressId() string

func (*StartEgressRequest) GetRequest

func (m *StartEgressRequest) GetRequest() isStartEgressRequest_Request

func (*StartEgressRequest) GetRoomComposite

func (x *StartEgressRequest) GetRoomComposite() *livekit.RoomCompositeEgressRequest

func (*StartEgressRequest) GetRoomId

func (x *StartEgressRequest) GetRoomId() string

func (*StartEgressRequest) GetToken

func (x *StartEgressRequest) GetToken() string

func (*StartEgressRequest) GetTrack

func (*StartEgressRequest) GetTrackComposite

func (x *StartEgressRequest) GetTrackComposite() *livekit.TrackCompositeEgressRequest

func (*StartEgressRequest) GetWeb

func (*StartEgressRequest) GetWsUrl

func (x *StartEgressRequest) GetWsUrl() string

func (*StartEgressRequest) ProtoMessage

func (*StartEgressRequest) ProtoMessage()

func (*StartEgressRequest) ProtoReflect

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

func (*StartEgressRequest) Reset

func (x *StartEgressRequest) Reset()

func (*StartEgressRequest) String

func (x *StartEgressRequest) String() string

type StartEgressRequest_RoomComposite

type StartEgressRequest_RoomComposite struct {
	RoomComposite *livekit.RoomCompositeEgressRequest `protobuf:"bytes,5,opt,name=room_composite,json=roomComposite,proto3,oneof"`
}

type StartEgressRequest_Track

type StartEgressRequest_Track struct {
	Track *livekit.TrackEgressRequest `protobuf:"bytes,7,opt,name=track,proto3,oneof"`
}

type StartEgressRequest_TrackComposite

type StartEgressRequest_TrackComposite struct {
	TrackComposite *livekit.TrackCompositeEgressRequest `protobuf:"bytes,6,opt,name=track_composite,json=trackComposite,proto3,oneof"`
}

type StartEgressRequest_Web

type StartEgressRequest_Web struct {
	Web *livekit.WebEgressRequest `protobuf:"bytes,11,opt,name=web,proto3,oneof"`
}

type UpdateIngressStateRequest

type UpdateIngressStateRequest struct {
	IngressId string                `protobuf:"bytes,1,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"`
	State     *livekit.IngressState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// contains filtered or unexported fields
}

Request to store an update to the ingress state ingress -> service

func (*UpdateIngressStateRequest) Descriptor deprecated

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

Deprecated: Use UpdateIngressStateRequest.ProtoReflect.Descriptor instead.

func (*UpdateIngressStateRequest) GetIngressId

func (x *UpdateIngressStateRequest) GetIngressId() string

func (*UpdateIngressStateRequest) GetState

func (*UpdateIngressStateRequest) ProtoMessage

func (*UpdateIngressStateRequest) ProtoMessage()

func (*UpdateIngressStateRequest) ProtoReflect

func (*UpdateIngressStateRequest) Reset

func (x *UpdateIngressStateRequest) Reset()

func (*UpdateIngressStateRequest) String

func (x *UpdateIngressStateRequest) String() string

Jump to

Keyboard shortcuts

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