timeline

package
v0.3.10 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2026 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Overview

Package timeline owns the PMS session crossing and resume policy.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Store

type Store struct {
	sync.Mutex
	// contains filtered or unexported fields
}

type Writer

type Writer struct {
	frontend.State
	Store *Store
	Now   func() time.Time
}

Writer binds a frontend-owned session cache to shared persistence.

func (Writer) RestoreContinue

func (w Writer) RestoreContinue(ctx context.Context, user int64, key frontend.RatingKey) error

func (Writer) StoreTimeline

func (s Writer) StoreTimeline(ctx context.Context, user int64, key frontend.RatingKey, offset, duration time.Duration, status, queue string, offline *int) (frontend.TimelinePersistenceResult, error)

TimelineStore applies the session-local crossing and resume rules measured on PMS. The media and playlist tracks are independent. The cache has a fixed bound; its cost depends on active clients, never the catalogue's size.

func (Writer) TouchParents

func (w Writer) TouchParents(ctx context.Context, user int64, key frontend.RatingKey, at time.Time, complete bool) error

Jump to

Keyboard shortcuts

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