Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SessionReporter ¶ added in v1.13.0
type SessionReporter interface {
CreateEgress(ctx context.Context, info *livekit.EgressInfo) chan error
UpdateEgress(ctx context.Context, info *livekit.EgressInfo) error
// SessionStarted reports that an egress is running: its handler process
// came up and reported itself ready. An implementation that meters an
// egress can measure from here rather than from EgressInfo.StartedAt,
// which is stamped while the request is parsed and so says nothing about
// whether the egress ever ran.
SessionStarted(ctx context.Context, egressID string)
// SessionEnded reports that an egress is over and that nothing will send
// another update for it, whatever its last update said. It is called once
// the handler process has exited, however it died, so an implementation
// holding per-egress state can release that state even when the egress'
// own terminal update never arrived. An implementation that releases on
// that update instead will be called for an egress it no longer holds, so
// this has to tolerate being called more than once.
SessionEnded(ctx context.Context, egressID string)
UpdateMetrics(ctx context.Context, req *rpc.UpdateMetricsRequest) error
Drain()
}
func NewSessionReporter ¶ added in v1.13.0
func NewSessionReporter(conf *config.BaseConfig, bus psrpc.MessageBus) (SessionReporter, error)
Click to show internal directories.
Click to hide internal directories.