Documentation ¶
Index ¶
- Constants
- Variables
- func EnableLockTracker()
- func HashedID(id string) string
- func LocalNodeID() (string, error)
- func NewGuid(prefix string) string
- func NumMutexes() int
- 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
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 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
Click to show internal directories.
Click to hide internal directories.