rpc

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 18 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
View Source
var File_rpc_room_proto protoreflect.FileDescriptor
View Source
var File_rpc_signal_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DeleteWHIPResourceRequest added in v1.5.6

type DeleteWHIPResourceRequest struct {
	ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	StreamKey  string `protobuf:"bytes,2,opt,name=stream_key,json=streamKey,proto3" json:"stream_key,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteWHIPResourceRequest) Descriptor deprecated added in v1.5.6

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

Deprecated: Use DeleteWHIPResourceRequest.ProtoReflect.Descriptor instead.

func (*DeleteWHIPResourceRequest) GetResourceId added in v1.5.6

func (x *DeleteWHIPResourceRequest) GetResourceId() string

func (*DeleteWHIPResourceRequest) GetStreamKey added in v1.5.9

func (x *DeleteWHIPResourceRequest) GetStreamKey() string

func (*DeleteWHIPResourceRequest) ProtoMessage added in v1.5.6

func (*DeleteWHIPResourceRequest) ProtoMessage()

func (*DeleteWHIPResourceRequest) ProtoReflect added in v1.5.6

func (*DeleteWHIPResourceRequest) Reset added in v1.5.6

func (x *DeleteWHIPResourceRequest) Reset()

func (*DeleteWHIPResourceRequest) String added in v1.5.6

func (x *DeleteWHIPResourceRequest) String() string

type EgressClient

type EgressClient interface {
	EgressInternalClient
	EgressHandlerClient
}

func NewEgressClient

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

type EgressHandlerClient

type EgressHandlerClient interface {
	UpdateStream(ctx context.Context, topic string, req *livekit1.UpdateStreamRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error)

	StopEgress(ctx context.Context, topic string, req *livekit1.StopEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error)
}

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(topic string) error
	DeregisterUpdateStreamTopic(topic string)
	RegisterStopEgressTopic(topic string) error
	DeregisterStopEgressTopic(topic 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, *livekit1.UpdateStreamRequest) (*livekit1.EgressInfo, error)

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

type EgressInternalClient

type EgressInternalClient interface {
	StartEgress(ctx context.Context, topic string, req *StartEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error)

	ListActiveEgress(ctx context.Context, req *ListActiveEgressRequest, opts ...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(topic string) error
	DeregisterStartEgressTopic(topic 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) (*livekit1.EgressInfo, error)
	StartEgressAffinity(context.Context, *StartEgressRequest) float32

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

type GetEgressRequest added in v1.8.1

type GetEgressRequest struct {
	EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"`
	// contains filtered or unexported fields
}

func (*GetEgressRequest) Descriptor deprecated added in v1.8.1

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

Deprecated: Use GetEgressRequest.ProtoReflect.Descriptor instead.

func (*GetEgressRequest) GetEgressId added in v1.8.1

func (x *GetEgressRequest) GetEgressId() string

func (*GetEgressRequest) ProtoMessage added in v1.8.1

func (*GetEgressRequest) ProtoMessage()

func (*GetEgressRequest) ProtoReflect added in v1.8.1

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

func (*GetEgressRequest) Reset added in v1.8.1

func (x *GetEgressRequest) Reset()

func (*GetEgressRequest) String added in v1.8.1

func (x *GetEgressRequest) String() string

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

type IOInfoClient interface {
	// egress
	CreateEgress(ctx context.Context, req *livekit1.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error)

	UpdateEgress(ctx context.Context, req *livekit1.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error)

	GetEgress(ctx context.Context, req *GetEgressRequest, opts ...psrpc.RequestOption) (*livekit1.EgressInfo, error)

	ListEgress(ctx context.Context, req *livekit1.ListEgressRequest, opts ...psrpc.RequestOption) (*livekit1.ListEgressResponse, error)

	// ingress
	GetIngressInfo(ctx context.Context, req *GetIngressInfoRequest, opts ...psrpc.RequestOption) (*GetIngressInfoResponse, error)

	UpdateIngressState(ctx context.Context, req *UpdateIngressStateRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error)

	// deprecated
	UpdateEgressInfo(ctx context.Context, req *livekit1.EgressInfo, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error)
}

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

type IngressHandlerClient interface {
	UpdateIngress(ctx context.Context, topic string, req *livekit2.UpdateIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error)

	DeleteIngress(ctx context.Context, topic string, req *livekit2.DeleteIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressState, error)

	DeleteWHIPResource(ctx context.Context, topic string, req *DeleteWHIPResourceRequest, opts ...psrpc.RequestOption) (*google_protobuf3.Empty, error)
}

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(topic string) error
	DeregisterUpdateIngressTopic(topic string)
	RegisterDeleteIngressTopic(topic string) error
	DeregisterDeleteIngressTopic(topic string)
	RegisterDeleteWHIPResourceTopic(topic string) error
	DeregisterDeleteWHIPResourceTopic(topic 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 IngressInternalClient

type IngressInternalClient interface {
	StartIngress(ctx context.Context, req *StartIngressRequest, opts ...psrpc.RequestOption) (*livekit2.IngressInfo, error)

	ListActiveIngress(ctx context.Context, req *ListActiveIngressRequest, opts ...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 {
	StartIngress(context.Context, *StartIngressRequest) (*livekit2.IngressInfo, error)
	StartIngressAffinity(context.Context, *StartIngressRequest) float32

	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 ParticipantTopic added in v1.8.1

type ParticipantTopic string

func FormatParticipantTopic added in v1.8.1

func FormatParticipantTopic(roomName livekit.RoomName, identity livekit.ParticipantIdentity) ParticipantTopic

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 RelaySignalRequest added in v1.4.3

type RelaySignalRequest struct {
	StartSession *livekit.StartSession    `protobuf:"bytes,1,opt,name=start_session,json=startSession,proto3" json:"start_session,omitempty"`
	Requests     []*livekit.SignalRequest `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"`
	Seq          uint64                   `protobuf:"varint,4,opt,name=seq,proto3" json:"seq,omitempty"`
	Close        bool                     `protobuf:"varint,5,opt,name=close,proto3" json:"close,omitempty"`
	// contains filtered or unexported fields
}

func (*RelaySignalRequest) Descriptor deprecated added in v1.4.3

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

Deprecated: Use RelaySignalRequest.ProtoReflect.Descriptor instead.

func (*RelaySignalRequest) GetClose added in v1.5.6

func (x *RelaySignalRequest) GetClose() bool

func (*RelaySignalRequest) GetRequests added in v1.5.3

func (x *RelaySignalRequest) GetRequests() []*livekit.SignalRequest

func (*RelaySignalRequest) GetSeq added in v1.5.3

func (x *RelaySignalRequest) GetSeq() uint64

func (*RelaySignalRequest) GetStartSession added in v1.4.3

func (x *RelaySignalRequest) GetStartSession() *livekit.StartSession

func (*RelaySignalRequest) ProtoMessage added in v1.4.3

func (*RelaySignalRequest) ProtoMessage()

func (*RelaySignalRequest) ProtoReflect added in v1.4.3

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

func (*RelaySignalRequest) Reset added in v1.4.3

func (x *RelaySignalRequest) Reset()

func (*RelaySignalRequest) String added in v1.4.3

func (x *RelaySignalRequest) String() string

type RelaySignalResponse added in v1.4.3

type RelaySignalResponse struct {
	Responses []*livekit.SignalResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
	Seq       uint64                    `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"`
	Close     bool                      `protobuf:"varint,4,opt,name=close,proto3" json:"close,omitempty"`
	// contains filtered or unexported fields
}

func (*RelaySignalResponse) Descriptor deprecated added in v1.4.3

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

Deprecated: Use RelaySignalResponse.ProtoReflect.Descriptor instead.

func (*RelaySignalResponse) GetClose added in v1.5.6

func (x *RelaySignalResponse) GetClose() bool

func (*RelaySignalResponse) GetResponses added in v1.5.2

func (x *RelaySignalResponse) GetResponses() []*livekit.SignalResponse

func (*RelaySignalResponse) GetSeq added in v1.5.3

func (x *RelaySignalResponse) GetSeq() uint64

func (*RelaySignalResponse) ProtoMessage added in v1.4.3

func (*RelaySignalResponse) ProtoMessage()

func (*RelaySignalResponse) ProtoReflect added in v1.4.3

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

func (*RelaySignalResponse) Reset added in v1.4.3

func (x *RelaySignalResponse) Reset()

func (*RelaySignalResponse) String added in v1.4.3

func (x *RelaySignalResponse) String() string

type RoomClient added in v1.8.1

type RoomClient[ParticipantTopicType, RoomTopicType ~string] interface {
	RemoveParticipant(ctx context.Context, participant ParticipantTopicType, req *livekit3.RoomParticipantIdentity, opts ...psrpc.RequestOption) (*livekit3.RemoveParticipantResponse, error)

	MutePublishedTrack(ctx context.Context, participant ParticipantTopicType, req *livekit3.MuteRoomTrackRequest, opts ...psrpc.RequestOption) (*livekit3.MuteRoomTrackResponse, error)

	UpdateParticipant(ctx context.Context, participant ParticipantTopicType, req *livekit3.UpdateParticipantRequest, opts ...psrpc.RequestOption) (*livekit.ParticipantInfo, error)

	UpdateSubscriptions(ctx context.Context, participant ParticipantTopicType, req *livekit3.UpdateSubscriptionsRequest, opts ...psrpc.RequestOption) (*livekit3.UpdateSubscriptionsResponse, error)

	DeleteRoom(ctx context.Context, room RoomTopicType, req *livekit3.DeleteRoomRequest, opts ...psrpc.RequestOption) (*livekit3.DeleteRoomResponse, error)

	SendData(ctx context.Context, room RoomTopicType, req *livekit3.SendDataRequest, opts ...psrpc.RequestOption) (*livekit3.SendDataResponse, error)

	UpdateRoomMetadata(ctx context.Context, room RoomTopicType, req *livekit3.UpdateRoomMetadataRequest, opts ...psrpc.RequestOption) (*livekit.Room, error)
}

func NewRoomClient added in v1.8.1

func NewRoomClient[ParticipantTopicType, RoomTopicType ~string](clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (RoomClient[ParticipantTopicType, RoomTopicType], error)

NewRoomClient creates a psrpc client that implements the RoomClient interface.

type RoomServer added in v1.8.1

type RoomServer[ParticipantTopicType, RoomTopicType ~string] interface {
	RegisterRemoveParticipantTopic(participant ParticipantTopicType) error
	DeregisterRemoveParticipantTopic(participant ParticipantTopicType)
	RegisterMutePublishedTrackTopic(participant ParticipantTopicType) error
	DeregisterMutePublishedTrackTopic(participant ParticipantTopicType)
	RegisterUpdateParticipantTopic(participant ParticipantTopicType) error
	DeregisterUpdateParticipantTopic(participant ParticipantTopicType)
	RegisterUpdateSubscriptionsTopic(participant ParticipantTopicType) error
	DeregisterUpdateSubscriptionsTopic(participant ParticipantTopicType)
	RegisterDeleteRoomTopic(room RoomTopicType) error
	DeregisterDeleteRoomTopic(room RoomTopicType)
	RegisterSendDataTopic(room RoomTopicType) error
	DeregisterSendDataTopic(room RoomTopicType)
	RegisterUpdateRoomMetadataTopic(room RoomTopicType) error
	DeregisterUpdateRoomMetadataTopic(room RoomTopicType)
	RegisterAllParticipantTopics(participant ParticipantTopicType) error
	DeregisterAllParticipantTopics(participant ParticipantTopicType)
	RegisterAllRoomTopics(room RoomTopicType) error
	DeregisterAllRoomTopics(room RoomTopicType)

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

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

func NewRoomServer added in v1.8.1

func NewRoomServer[ParticipantTopicType, RoomTopicType ~string](serverID string, svc RoomServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (RoomServer[ParticipantTopicType, RoomTopicType], error)

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

type RoomTopic added in v1.8.1

type RoomTopic string

func FormatRoomTopic added in v1.8.1

func FormatRoomTopic(roomName livekit.RoomName) RoomTopic

type SignalClient added in v1.4.3

type SignalClient[NodeIdTopicType ~string] interface {
	RelaySignal(ctx context.Context, nodeId NodeIdTopicType, opts ...psrpc.RequestOption) (psrpc.ClientStream[*RelaySignalRequest, *RelaySignalResponse], error)
}

func NewSignalClient added in v1.4.3

func NewSignalClient[NodeIdTopicType ~string](clientID string, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (SignalClient[NodeIdTopicType], error)

NewSignalClient creates a psrpc client that implements the SignalClient interface.

type SignalServer added in v1.4.3

type SignalServer[NodeIdTopicType ~string] interface {
	RegisterRelaySignalTopic(nodeId NodeIdTopicType) error
	DeregisterRelaySignalTopic(nodeId NodeIdTopicType)

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

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

func NewSignalServer added in v1.4.3

func NewSignalServer[NodeIdTopicType ~string](serverID string, svc SignalServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (SignalServer[NodeIdTopicType], error)

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

type SignalServerImpl added in v1.4.3

type SignalServerImpl interface {
	RelaySignal(psrpc.ServerStream[*RelaySignalResponse, *RelaySignalRequest]) error
}

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_Web
	//	*StartEgressRequest_Participant
	//	*StartEgressRequest_TrackComposite
	//	*StartEgressRequest_Track
	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"`
	// metadata
	Metadata map[string]*anypb.Any `` /* 158-byte string literal not displayed */
	// 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) GetMetadata added in v1.5.10

func (x *StartEgressRequest) GetMetadata() map[string]*anypb.Any

func (*StartEgressRequest) GetParticipant added in v1.7.0

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_Participant added in v1.7.0

type StartEgressRequest_Participant struct {
	Participant *livekit.ParticipantEgressRequest `protobuf:"bytes,13,opt,name=participant,proto3,oneof"`
}

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 StartIngressRequest added in v1.6.0

type StartIngressRequest 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 (*StartIngressRequest) Descriptor deprecated added in v1.6.0

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

Deprecated: Use StartIngressRequest.ProtoReflect.Descriptor instead.

func (*StartIngressRequest) GetInfo added in v1.6.0

func (x *StartIngressRequest) GetInfo() *livekit.IngressInfo

func (*StartIngressRequest) GetToken added in v1.6.0

func (x *StartIngressRequest) GetToken() string

func (*StartIngressRequest) GetWsUrl added in v1.6.0

func (x *StartIngressRequest) GetWsUrl() string

func (*StartIngressRequest) ProtoMessage added in v1.6.0

func (*StartIngressRequest) ProtoMessage()

func (*StartIngressRequest) ProtoReflect added in v1.6.0

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

func (*StartIngressRequest) Reset added in v1.6.0

func (x *StartIngressRequest) Reset()

func (*StartIngressRequest) String added in v1.6.0

func (x *StartIngressRequest) String() string

type TopicFormatter added in v1.8.1

type TopicFormatter interface {
	ParticipantTopic(ctx context.Context, roomName livekit.RoomName, identity livekit.ParticipantIdentity) ParticipantTopic
	RoomTopic(ctx context.Context, roomName livekit.RoomName) RoomTopic
}

type TypedRoomClient added in v1.8.1

type TypedRoomClient = RoomClient[ParticipantTopic, RoomTopic]

func NewTypedRoomClient added in v1.8.1

func NewTypedRoomClient(nodeID livekit.NodeID, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (TypedRoomClient, error)

type TypedRoomServer added in v1.8.1

type TypedRoomServer = RoomServer[ParticipantTopic, RoomTopic]

func NewTypedRoomServer added in v1.8.1

func NewTypedRoomServer(nodeID livekit.NodeID, svc RoomServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (TypedRoomServer, error)

type TypedSignalClient added in v1.4.3

type TypedSignalClient = SignalClient[livekit.NodeID]

func NewTypedSignalClient added in v1.4.3

func NewTypedSignalClient(nodeID livekit.NodeID, bus psrpc.MessageBus, opts ...psrpc.ClientOption) (TypedSignalClient, error)

type TypedSignalServer added in v1.4.3

type TypedSignalServer = SignalServer[livekit.NodeID]

func NewTypedSignalServer added in v1.4.3

func NewTypedSignalServer(nodeID livekit.NodeID, svc SignalServerImpl, bus psrpc.MessageBus, opts ...psrpc.ServerOption) (TypedSignalServer, error)

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

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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