Documentation ¶
Index ¶
- Constants
- Variables
- func HashedID(id string) string
- func LocalNodeID() (string, error)
- func NewGuid(prefix string) string
- func RandomSecret() string
- type AtomicFlag
- type MessageBus
- type PubSub
- 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" RecordingPrefix = "RR_" RPCPrefix = "RPC" )
Variables ¶
View Source
var (
ErrChannelClosed = errors.New("cannot write to closed channel")
)
View Source
var ( PromMessageBusCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: "livekit", Subsystem: "messagebus", Name: "messages", }, []string{"type", "status"}, ) )
Functions ¶
func LocalNodeID ¶ added in v0.11.1
func RandomSecret ¶
func RandomSecret() string
Types ¶
type AtomicFlag ¶
type AtomicFlag struct {
// contains filtered or unexported fields
}
func (*AtomicFlag) Get ¶
func (b *AtomicFlag) Get() bool
func (*AtomicFlag) TrySet ¶
func (b *AtomicFlag) TrySet(bVal bool) bool
set flag to value if existing flag is different, otherwise return
type MessageBus ¶ added in v0.8.4
type MessageBus interface { Lock(ctx context.Context, key string, expiration time.Duration) (acquired bool, err error) Subscribe(ctx context.Context, channel string) (PubSub, error) // 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.Client) 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.