Documentation ¶
Index ¶
- Constants
- Variables
- func HashedID(id string) string
- func LocalNodeID() (string, error)
- func NewGuid(prefix string) string
- func RandomSecret() string
- 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_" EgressPrefix = "EG_" RPCPrefix = "RPC_" )
Variables ¶
View Source
var ( PromMessageBusCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: "livekit", Subsystem: "messagebus", Name: "messages", }, []string{"type", "status"}, ) )
Functions ¶
func LocalNodeID ¶
func RandomSecret ¶
func RandomSecret() string
Types ¶
type MessageBus ¶
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 ¶
func NewRedisMessageBus(rc *redis.Client) MessageBus
type RedisMessageBus ¶
type RedisMessageBus struct {
// contains filtered or unexported fields
}
func (*RedisMessageBus) SubscribeQueue ¶
type RedisPubSub ¶
type RedisPubSub struct {
// contains filtered or unexported fields
}
func (*RedisPubSub) Channel ¶
func (r *RedisPubSub) Channel() <-chan interface{}
func (*RedisPubSub) Close ¶
func (r *RedisPubSub) Close() error
func (*RedisPubSub) Payload ¶
func (r *RedisPubSub) Payload(msg interface{}) []byte
Click to show internal directories.
Click to hide internal directories.