Versions in this module Expand all Collapse all v0 v0.4.0 Nov 7, 2026 Changes in this version + var ErrRoundTimeout = errors.New("poll round timed out") + func Drive(ctx context.Context, h Home, a *core.Core) + type EventKind int + const GrantAdded + const GrantRemoved + type GrantEvent struct + Kind EventKind + Token []byte + UID string + type HealthPoll struct + Clock clock.WithTicker + Every time.Duration + Health *core.SourceHealth + OnError func(err error) + OnRecovered func() + Round func(ctx context.Context) error + func (p *HealthPoll) Once(ctx context.Context) error + func (p *HealthPoll) Run(ctx context.Context) + func (p *HealthPoll) SetPaused(paused bool) + type Home interface + CgroupRoot func() string + Devices func(ctx context.Context, g core.Grant) (core.DeviceChannel, func(), error) + Grants func(ctx context.Context) (<-chan GrantEvent, error) + Health func() *core.SourceHealth + Name func() string + PublishReady func(ctx context.Context, grantUID string, ready bool) error + Run func(ctx context.Context) + Scope func() []core.ScopeClaim + type ReadyGate struct + Publish func(ctx context.Context, warm []string) error + func (g *ReadyGate) PublishReady(ctx context.Context, grantUID string, ready bool) error + func (g *ReadyGate) Ready() bool + func (g *ReadyGate) Republish(ctx context.Context) (changed bool, err error) + type ScopeLossQueue struct + func (q *ScopeLossQueue) Lose(reason string) bool + func (q *ScopeLossQueue) OnScopeLost(fn func(ctx context.Context, reason string)) + func (q *ScopeLossQueue) Pending() int + func (q *ScopeLossQueue) Run(ctx context.Context) v0.4.0-rc.1 Nov 6, 2026