Documentation
¶
Index ¶
- func Register(domain string, b Builder)
- type BucketSnapshot
- type Builder
- type Level
- type LiveApi
- type LiveConfig
- type LiveSession
- type LiveState
- type PlatformBucket
- type StreamUrlInfo
- type TokenBucketManager
- func (m *TokenBucketManager) Acquire(ctx context.Context, platform string) error
- func (m *TokenBucketManager) AcquireBatch(ctx context.Context, platform string, n int) error
- func (m *TokenBucketManager) EnsureBucket(platform string) *PlatformBucket
- func (m *TokenBucketManager) Start()
- func (m *TokenBucketManager) Status() map[string]BucketSnapshot
- func (m *TokenBucketManager) Stop()
- func (m *TokenBucketManager) TryAcquire(ctx context.Context, platform string) bool
- func (m *TokenBucketManager) TryAcquireBatch(ctx context.Context, platform string, n int) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BucketSnapshot ¶ added in v0.0.5
type BucketSnapshot struct {
Platform string `json:"platform"`
CapacityPerSec int `json:"capacityPerSec"`
TokensAvailable int `json:"tokensAvailable"`
CurrentLevelIndex int `json:"currentLevelIndex"`
ConsecutiveAtLimit int `json:"consecutiveAtLimit"`
LastRefillAt time.Time `json:"lastRefillAt"`
LastSecondUsed int `json:"lastSecondUsed"`
Levels []int `json:"levels"`
}
type LiveConfig ¶
type LiveSession ¶
type LiveSession struct {
Id int
Config LiveConfig
State LiveState
LiveApi LiveApi
EventDispatcher interfaces.Module
ListenerManager interfaces.Module
RecorderManager interfaces.Module
// contains filtered or unexported fields
}
func NewLiveSession ¶
func NewLiveSession(id int, config LiveConfig, liveAPI LiveApi) *LiveSession
func (*LiveSession) GetState ¶
func (s *LiveSession) GetState() LiveState
func (*LiveSession) UpdateState ¶
func (s *LiveSession) UpdateState(newState LiveState)
type PlatformBucket ¶ added in v0.0.5
type PlatformBucket struct {
// contains filtered or unexported fields
}
func NewPlatformBucket ¶ added in v0.0.5
func NewPlatformBucket(platform string, levels []Level) *PlatformBucket
func (*PlatformBucket) Acquire ¶ added in v0.0.5
func (b *PlatformBucket) Acquire(ctx context.Context, n int) error
func (*PlatformBucket) TryAcquire ¶ added in v0.0.5
func (b *PlatformBucket) TryAcquire(n int) bool
type StreamUrlInfo ¶
type TokenBucketManager ¶ added in v0.0.5
type TokenBucketManager struct {
// contains filtered or unexported fields
}
func GetBucketManager ¶ added in v0.0.5
func GetBucketManager() *TokenBucketManager
func NewTokenBucketManager ¶ added in v0.0.5
func NewTokenBucketManager(levels []Level) *TokenBucketManager
func (*TokenBucketManager) Acquire ¶ added in v0.0.5
func (m *TokenBucketManager) Acquire(ctx context.Context, platform string) error
func (*TokenBucketManager) AcquireBatch ¶ added in v0.0.5
func (*TokenBucketManager) EnsureBucket ¶ added in v0.0.5
func (m *TokenBucketManager) EnsureBucket(platform string) *PlatformBucket
func (*TokenBucketManager) Start ¶ added in v0.0.5
func (m *TokenBucketManager) Start()
func (*TokenBucketManager) Status ¶ added in v0.0.5
func (m *TokenBucketManager) Status() map[string]BucketSnapshot
func (*TokenBucketManager) Stop ¶ added in v0.0.5
func (m *TokenBucketManager) Stop()
func (*TokenBucketManager) TryAcquire ¶ added in v0.0.5
func (m *TokenBucketManager) TryAcquire(ctx context.Context, platform string) bool
func (*TokenBucketManager) TryAcquireBatch ¶ added in v0.0.5
Click to show internal directories.
Click to hide internal directories.