Documentation ¶
Index ¶
- Constants
- Variables
- func EnableLockTracker()
- func HashedID(id string) string
- func LocalNodeID() (string, error)
- func NewGuid(prefix string) string
- func NumMutexes() int
- func ParallelExec[T any](vals []T, parallelThreshold, step uint64, fn func(T))
- func RandomSecret() string
- func ScanTrackedLocks(threshold time.Duration) bool
- func ScanTrackedLocksI(threshold time.Duration, n int) bool
- type CPUStats
- type MessageBus
- type Mutex
- type PubSub
- type RWMutex
- type RedisMessageBus
- func (r *RedisMessageBus) Lock(ctx context.Context, key string, expiration time.Duration) (bool, error)
- func (r *RedisMessageBus) Publish(ctx context.Context, channel string, msg proto.Message) error
- func (r *RedisMessageBus) Subscribe(ctx context.Context, channel string) (PubSub, error)
- func (r *RedisMessageBus) SubscribeQueue(ctx context.Context, channel string) (PubSub, error)
- type RedisPubSub
- type TimedVersion
- func (t *TimedVersion) After(other *TimedVersion) bool
- func (t *TimedVersion) Compare(other *TimedVersion) int
- func (t *TimedVersion) Load() TimedVersion
- func (t *TimedVersion) Store(other *TimedVersion)
- func (t *TimedVersion) String() string
- func (t *TimedVersion) Time() time.Time
- func (t *TimedVersion) ToProto() *livekit.TimedVersion
- func (t *TimedVersion) Update(other *TimedVersion) bool
- type TimedVersionGenerator
Constants ¶
View Source
const ( RoomPrefix = "RM_" NodePrefix = "ND_" ParticipantPrefix = "PA_" TrackPrefix = "TR_" APIKeyPrefix = "API" EgressPrefix = "EG_" IngressPrefix = "IN_" RPCPrefix = "RPC_" )
Variables ¶
View Source
var ( PromMessageBusCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: "livekit", Subsystem: "messagebus", Name: "messages", }, []string{"type", "status"}, ) )
Functions ¶
func EnableLockTracker ¶ added in v1.4.0
func EnableLockTracker()
EnableLockTracker enable lock tracking background worker. This should be called during init
func LocalNodeID ¶ added in v0.11.1
func NumMutexes ¶ added in v1.4.0
func NumMutexes() int
func ParallelExec ¶ added in v1.4.3
ParallelExec will executes the given function with each element of vals, if len(vals) >= parallelThreshold, will execute them in parallel, with the given step size. So fn must be thread-safe.
func RandomSecret ¶
func RandomSecret() string
func ScanTrackedLocks ¶ added in v1.4.0
ScanTrackedLocks check all lock trackers
Types ¶
type CPUStats ¶ added in v1.2.0
type CPUStats struct {
// contains filtered or unexported fields
}
func NewCPUStats ¶ added in v1.2.0
func (*CPUStats) GetCPUIdle ¶ added in v1.2.0
type MessageBus ¶ added in v0.8.4
type MessageBus interface { Subscribe(ctx context.Context, channel string) (PubSub, error) // SubscribeQueue is like subscribe, but ensuring only a single instance gets to process the message SubscribeQueue(ctx context.Context, channel string) (PubSub, error) Publish(ctx context.Context, channel string, msg proto.Message) error }
func NewRedisMessageBus ¶ added in v0.8.4
func NewRedisMessageBus(rc redis.UniversalClient) MessageBus
type RedisMessageBus ¶ added in v0.8.4
type RedisMessageBus struct {
// contains filtered or unexported fields
}
func (*RedisMessageBus) SubscribeQueue ¶ added in v0.9.3
type RedisPubSub ¶ added in v0.8.4
type RedisPubSub struct {
// contains filtered or unexported fields
}
func (*RedisPubSub) Channel ¶ added in v0.8.4
func (r *RedisPubSub) Channel() <-chan interface{}
func (*RedisPubSub) Close ¶ added in v0.8.4
func (r *RedisPubSub) Close() error
func (*RedisPubSub) Payload ¶ added in v0.8.4
func (r *RedisPubSub) Payload(msg interface{}) []byte
type TimedVersion ¶ added in v1.4.3
type TimedVersion struct {
// contains filtered or unexported fields
}
func NewTimedVersionFromProto ¶ added in v1.4.3
func NewTimedVersionFromProto(proto *livekit.TimedVersion) *TimedVersion
func NewTimedVersionFromTime ¶ added in v1.4.3
func NewTimedVersionFromTime(t time.Time) *TimedVersion
func TimedVersionFromProto ¶ added in v1.4.3
func TimedVersionFromProto(proto *livekit.TimedVersion) TimedVersion
func TimedVersionFromTime ¶ added in v1.4.3
func TimedVersionFromTime(t time.Time) TimedVersion
func (*TimedVersion) After ¶ added in v1.4.3
func (t *TimedVersion) After(other *TimedVersion) bool
func (*TimedVersion) Compare ¶ added in v1.4.3
func (t *TimedVersion) Compare(other *TimedVersion) int
func (*TimedVersion) Load ¶ added in v1.4.3
func (t *TimedVersion) Load() TimedVersion
func (*TimedVersion) Store ¶ added in v1.4.3
func (t *TimedVersion) Store(other *TimedVersion)
func (*TimedVersion) String ¶ added in v1.4.3
func (t *TimedVersion) String() string
func (*TimedVersion) Time ¶ added in v1.4.3
func (t *TimedVersion) Time() time.Time
func (*TimedVersion) ToProto ¶ added in v1.4.3
func (t *TimedVersion) ToProto() *livekit.TimedVersion
func (*TimedVersion) Update ¶ added in v1.4.3
func (t *TimedVersion) Update(other *TimedVersion) bool
type TimedVersionGenerator ¶ added in v1.4.3
type TimedVersionGenerator interface { New() *TimedVersion Next() TimedVersion }
func NewDefaultTimedVersionGenerator ¶ added in v1.4.3
func NewDefaultTimedVersionGenerator() TimedVersionGenerator
Click to show internal directories.
Click to hide internal directories.