cache

package
v0.5.4 Latest Latest
Warning

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

Go to latest
Published: May 10, 2024 License: AGPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AlistProviderAli = "AliyundriveOpen"
	AlistProvider115 = "115 Cloud"
)

Variables

This section is empty.

Functions

func BilibiliAuthorizationCacheWithUserIDInitFunc

func BilibiliAuthorizationCacheWithUserIDInitFunc(userID string) func(ctx context.Context, args ...struct{}) (*BilibiliUserCacheData, error)

func BilibiliLiveCacheInitFunc added in v0.5.0

func BilibiliLiveCacheInitFunc(ctx context.Context, movie *model.Movie, args ...struct{}) ([]byte, error)

func BilibiliMpdToString added in v0.5.3

func BilibiliMpdToString(mpdRaw *mpd.MPD, token string) (string, error)

func BilibiliNoSharedMovieCacheInitFunc

func BilibiliNoSharedMovieCacheInitFunc(ctx context.Context, movie *model.Movie, args ...*BilibiliUserCache) (string, error)

func NewAlistMovieCacheInitFunc

func NewAlistMovieCacheInitFunc(movie *model.Movie) func(ctx context.Context, args ...*AlistMovieCacheFuncArgs) (*AlistMovieCacheData, error)

func NewBilibiliLiveCacheInitFunc added in v0.5.0

func NewBilibiliLiveCacheInitFunc(movie *model.Movie) func(ctx context.Context, args ...struct{}) ([]byte, error)

func NewBilibiliNoSharedMovieCacheInitFunc

func NewBilibiliNoSharedMovieCacheInitFunc(movie *model.Movie) func(ctx context.Context, key string, args ...*BilibiliUserCache) (string, error)

func NewBilibiliSharedMpdCacheInitFunc

func NewBilibiliSharedMpdCacheInitFunc(movie *model.Movie) func(ctx context.Context, args ...*BilibiliUserCache) (*BilibiliMpdCache, error)

func NewBilibiliSubtitleCacheInitFunc

func NewBilibiliSubtitleCacheInitFunc(movie *model.Movie) func(ctx context.Context, args ...*BilibiliUserCache) (BilibiliSubtitleCache, error)

func NewEmbyMovieCacheInitFunc

func NewEmbyMovieCacheInitFunc(movie *model.Movie) func(ctx context.Context, args ...*EmbyUserCache) (*EmbyMovieCacheData, error)

func NewEmbyMovieClearCacheFunc added in v0.5.2

func NewEmbyMovieClearCacheFunc(movie *model.Movie) func(ctx context.Context, args ...*EmbyUserCache) error

Types

type AlistAliCache added in v0.4.0

type AlistAliCache struct {
	M3U8ListFile []byte
}

type AlistMovieCacheData

type AlistMovieCacheData struct {
	URL       string
	Subtitles []*AlistSubtitle
	Provider  string
	Ali       *AlistAliCache
}

type AlistMovieCacheFuncArgs added in v0.5.0

type AlistMovieCacheFuncArgs struct {
	UserCache *AlistUserCache
	UserAgent string
}

type AlistProvider added in v0.5.0

type AlistProvider = string

type AlistSubtitle added in v0.5.2

type AlistSubtitle struct {
	Name  string
	URL   string
	Type  string
	Cache *SubtitleDataCache
}

type AlistUserCache

type AlistUserCache = MapCache[*AlistUserCacheData, struct{}]

func NewAlistUserCache

func NewAlistUserCache(userID string) *AlistUserCache

type AlistUserCacheData

type AlistUserCacheData struct {
	Host     string
	ServerID string
	Token    string
	Backend  string
}

func AlistAuthorizationCacheWithConfigInitFunc

func AlistAuthorizationCacheWithConfigInitFunc(ctx context.Context, v *model.AlistVendor) (*AlistUserCacheData, error)

func AlistAuthorizationCacheWithUserIDInitFunc

func AlistAuthorizationCacheWithUserIDInitFunc(ctx context.Context, userID, serverID string) (*AlistUserCacheData, error)

type BilibiliLiveCache added in v0.5.0

type BilibiliLiveCache struct {
}

type BilibiliMovieCache

func NewBilibiliMovieCache

func NewBilibiliMovieCache(movie *model.Movie) *BilibiliMovieCache

type BilibiliMpdCache

type BilibiliMpdCache struct {
	Mpd     *mpd.MPD
	HevcMpd *mpd.MPD
	Urls    []string
}

func BilibiliSharedMpdCacheInitFunc

func BilibiliSharedMpdCacheInitFunc(ctx context.Context, movie *model.Movie, args ...*BilibiliUserCache) (*BilibiliMpdCache, error)

type BilibiliSubtitleCache

type BilibiliSubtitleCache map[string]*struct {
	Url string
	Srt *refreshcache.RefreshCache[[]byte, struct{}]
}

func BilibiliSubtitleCacheInitFunc

func BilibiliSubtitleCacheInitFunc(ctx context.Context, movie *model.Movie, args ...*BilibiliUserCache) (BilibiliSubtitleCache, error)

type BilibiliUserCache

type BilibiliUserCache = refreshcache.RefreshCache[*BilibiliUserCacheData, struct{}]

func NewBilibiliUserCache

func NewBilibiliUserCache(userID string) *BilibiliUserCache

type BilibiliUserCacheData

type BilibiliUserCacheData struct {
	Cookies []*http.Cookie
	Backend string
}

type EmbyMovieCache

func NewEmbyMovieCache

func NewEmbyMovieCache(movie *model.Movie) *EmbyMovieCache

type EmbyMovieCacheData

type EmbyMovieCacheData struct {
	Sources            []EmbySource
	TranscodeSessionID string
}

type EmbySource

type EmbySource struct {
	URL         string
	IsTranscode bool
	Name        string
	Subtitles   []struct {
		URL   string
		Type  string
		Name  string
		Cache *refreshcache.RefreshCache[[]byte, struct{}]
	}
}

type EmbyUserCache

type EmbyUserCache = MapCache[*EmbyUserCacheData, struct{}]

func NewEmbyUserCache

func NewEmbyUserCache(userID string) *EmbyUserCache

type EmbyUserCacheData

type EmbyUserCacheData struct {
	Host     string
	ServerID string
	ApiKey   string
	UserID   string
	Backend  string
}

func EmbyAuthorizationCacheWithUserIDInitFunc

func EmbyAuthorizationCacheWithUserIDInitFunc(userID, serverID string) (*EmbyUserCacheData, error)

type MapCache

type MapCache[T any, A any] struct {
	// contains filtered or unexported fields
}

func (*MapCache[T, A]) Clear

func (b *MapCache[T, A]) Clear()

func (*MapCache[T, A]) Delete added in v0.3.2

func (b *MapCache[T, A]) Delete(key string)

func (*MapCache[T, A]) LoadCache added in v0.3.2

func (b *MapCache[T, A]) LoadCache(key string) (*refreshcache.RefreshCache[T, A], bool)

func (*MapCache[T, A]) LoadOrNewCache added in v0.3.2

func (b *MapCache[T, A]) LoadOrNewCache(key string) *refreshcache.RefreshCache[T, A]

func (*MapCache[T, A]) LoadOrStore

func (b *MapCache[T, A]) LoadOrStore(ctx context.Context, key string, args ...A) (T, error)

func (*MapCache[T, A]) LoadOrStoreWithDynamicFunc

func (b *MapCache[T, A]) LoadOrStoreWithDynamicFunc(ctx context.Context, key string, refreshFunc MapRefreshFunc[T, A], args ...A) (T, error)

func (*MapCache[T, A]) StoreOrRefresh

func (b *MapCache[T, A]) StoreOrRefresh(ctx context.Context, key string, args ...A) (T, error)

func (*MapCache[T, A]) StoreOrRefreshWithDynamicFunc

func (b *MapCache[T, A]) StoreOrRefreshWithDynamicFunc(ctx context.Context, key string, refreshFunc MapRefreshFunc[T, A], args ...A) (T, error)

type MapRefreshFunc

type MapRefreshFunc[T any, A any] func(ctx context.Context, key string, args ...A) (T, error)

type SubtitleDataCache added in v0.5.2

type SubtitleDataCache = refreshcache.RefreshCache[[]byte, struct{}]

Jump to

Keyboard shortcuts

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