service

package
v2.17.0-beta.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2026 License: GPL-3.0 Imports: 57 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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)

func (*AutoDetector) DetectReaders

func (ad *AutoDetector) DetectReaders(
	pl platforms.Platform,
	cfg *config.Instance,
	st *state.State,
	iq chan<- readers.Scan,
) error

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

type StartResult struct {
	Stop             func() error
	Done             <-chan struct{}
	RestartRequested func() bool
}

StartResult holds the return values from Start.

func Start

func Start(
	pl platforms.Platform,
	cfg *config.Instance,
) (res *StartResult, err error)

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.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL