ingress

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2022 License: Apache-2.0 Imports: 9 Imported by: 4

Documentation

Index

Constants

View Source
const (
	RequestExpiration = time.Second * 2
)

Variables

View Source
var (
	ErrIngressOutOfDate        = errors.New("trying to ovewrite an ingress with an older version")
	ErrIngressTimedOut         = errors.New("ingress timed out")
	ErrNoResponse              = errors.New("no response from ingress service")
	ErrInvalidOutputDimensions = NewInvalidVideoParamsError("invalid output media dimensions")
)

Functions

func BuildIngressToken added in v1.0.2

func BuildIngressToken(apiKey, secret, roomName, participantIdentity, participantName string) (string, error)

func ValidateVideoOptionsConsistency added in v1.2.0

func ValidateVideoOptionsConsistency(options *livekit.IngressVideoOptions) error

Types

type InvalidVideoParamsError added in v1.2.0

type InvalidVideoParamsError string

func NewInvalidVideoParamsError added in v1.2.0

func NewInvalidVideoParamsError(s string) InvalidVideoParamsError

func (InvalidVideoParamsError) Error added in v1.2.0

func (s InvalidVideoParamsError) Error() string

type RPC

type RPC interface {
	RPCClient
	RPCServer
}

func NewRedisRPC

func NewRedisRPC(nodeID livekit.NodeID, rc redis.UniversalClient) RPC

type RPCClient

type RPCClient interface {
	// GetUpdateChannel returns a subscription for ingress info updates
	GetUpdateChannel(ctx context.Context) (utils.PubSub, error)
	// GetEntityChannel returns a subscription for entity requests
	GetEntityChannel(ctx context.Context) (utils.PubSub, error)
	// SendRequest sends a request to all available instances
	SendRequest(ctx context.Context, req *livekit.IngressRequest) (*livekit.IngressState, error)
	// SendResponse returns a GetIngressInfo response
	SendGetIngressInfoResponse(ctx context.Context, req *livekit.GetIngressInfoRequest, resp *livekit.GetIngressInfoResponse, err error) error
}

RPCClient is used by LiveKit Server

type RPCServer

type RPCServer interface {
	// IngressSubscription subscribes to requests for a specific ingress ID
	IngressSubscription(ctx context.Context, ingressID string) (utils.PubSub, error)
	// SendResponse returns an RPC response
	SendResponse(ctx context.Context, request *livekit.IngressRequest, state *livekit.IngressState, err error) error
	// SendUpdate sends an ingress info update
	SendUpdate(ctx context.Context, ingressId string, state *livekit.IngressState) error
	// SendGetIngressInfoRequest sends a request to all available instances
	SendGetIngressInfoRequest(ctx context.Context, req *livekit.GetIngressInfoRequest) (*livekit.GetIngressInfoResponse, error)
}

RPCServer is used by Ingress

type RedisRPC

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

func (*RedisRPC) GetEntityChannel

func (r *RedisRPC) GetEntityChannel(ctx context.Context) (utils.PubSub, error)

func (*RedisRPC) GetUpdateChannel

func (r *RedisRPC) GetUpdateChannel(ctx context.Context) (utils.PubSub, error)

func (*RedisRPC) IngressSubscription

func (r *RedisRPC) IngressSubscription(ctx context.Context, ingressID string) (utils.PubSub, error)

func (*RedisRPC) SendGetIngressInfoRequest added in v1.0.2

func (r *RedisRPC) SendGetIngressInfoRequest(ctx context.Context, req *livekit.GetIngressInfoRequest) (*livekit.GetIngressInfoResponse, error)

func (*RedisRPC) SendGetIngressInfoResponse added in v1.0.2

func (r *RedisRPC) SendGetIngressInfoResponse(ctx context.Context, req *livekit.GetIngressInfoRequest, resp *livekit.GetIngressInfoResponse, err error) error

func (*RedisRPC) SendRequest

func (r *RedisRPC) SendRequest(ctx context.Context, req *livekit.IngressRequest) (*livekit.IngressState, error)

func (*RedisRPC) SendResponse

func (r *RedisRPC) SendResponse(ctx context.Context, req *livekit.IngressRequest, state *livekit.IngressState, err error) error

func (*RedisRPC) SendUpdate

func (r *RedisRPC) SendUpdate(ctx context.Context, ingressId string, state *livekit.IngressState) error

Jump to

Keyboard shortcuts

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