Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNoStagedToken = errors.New("no staged token to confirm")
ErrNoStagedToken is returned when a confirm request is received but no token is currently staged by the launch guard.
Functions ¶
This section is empty.
Types ¶
type AutoDetector ¶
type AutoDetector struct {
// contains filtered or unexported fields
}
func NewAutoDetector ¶
func NewAutoDetector(_ *config.Instance) *AutoDetector
func (*AutoDetector) ClearFailedPath ¶ added in v2.9.0
func (ad *AutoDetector) ClearFailedPath(path string)
func (*AutoDetector) ClearPath ¶ added in v2.9.0
func (ad *AutoDetector) ClearPath(path string)
type ServiceContext ¶ added in v2.10.0
type ServiceContext struct {
Platform platforms.Platform
Config *config.Instance
State *state.State
DB *database.Database
Profiles *profiles.Service
PlaybackManager audio.PlaybackManager
UI *uievents.Service
LaunchSoftwareQueue chan *tokens.Token
PlaylistQueue chan *playlists.Playlist
ConfirmQueue chan chan error
LaunchGuardCancel chan struct{}
BackgroundWG *sync.WaitGroup
}
ServiceContext holds the shared dependencies threaded through all service-layer functions. Created once in Start() and passed by pointer.
type StartResult ¶ added in v2.10.0
StartResult holds the return values from Start.
func Start ¶
Start brings the service up and resolves any update still waiting on this boot to prove itself.
The wrapper around startService exists for the failure path. Most of the platforms this runs on have no supervisor, so a version that cannot start is not restarted by anything: the device is simply gone until someone reflashes it. Routing every way startService can fail through one deferred hook puts the previous version back and reports ErrRolledBack, and the caller re-execs into it rather than exiting.
Source Files
¶
- autodetect.go
- backup_scheduler.go
- clock_monitor.go
- context.go
- hooks.go
- index_resume.go
- indexpause.go
- mappings.go
- media_history_backfill.go
- media_history_tracker.go
- next_actions.go
- pending_write.go
- property_match.go
- publishers.go
- queues.go
- queues_helpers.go
- readers.go
- readiness.go
- scan_preprocessor.go
- scheduler_interval.go
- service.go
- start_hooks.go
- startup.go
- updater_scheduler.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package broker provides a simple in-process notification broker for broadcasting messages to multiple consumers without blocking.
|
Package broker provides a simple in-process notification broker for broadcasting messages to multiple consumers without blocking. |
|
Package idle provides a small scheduler for "run eventually" background work.
|
Package idle provides a small scheduler for "run eventually" background work. |
|
Package inbox provides a service for managing persistent system notifications.
|
Package inbox provides a service for managing persistent system notifications. |
|
Package profiles implements device profiles: named buckets of preferences and limits.
|
Package profiles implements device profiles: named buckets of preferences and limits. |
|
Package remote implements the device-side remote operations client: it advertises capability to the Online API, long-polls for queued operations, executes them locally, and reports results back, replaying any result the device couldn't report the first time.
|
Package remote implements the device-side remote operations client: it advertises capability to the Online API, long-polls for queued operations, executes them locally, and reports results back, replaying any result the device couldn't report the first time. |
|
otameta
Package otameta reads the signed update manifest and decides which release archive a device is allowed to install from it.
|
Package otameta reads the signed update manifest and decides which release archive a device is allowed to install from it. |