cache

package
v0.7.4 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2024 License: AGPL-3.0 Imports: 27 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) ([]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, subPath string) func(ctx context.Context, args *AlistMovieCacheFuncArgs) (*AlistMovieCacheData, error)

func NewBilibiliLiveCacheInitFunc added in v0.5.0

func NewBilibiliLiveCacheInitFunc(movie *model.Movie) func(ctx context.Context) ([]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, subPath string) func(ctx context.Context, args *EmbyUserCache) (*EmbyMovieCacheData, error)

func NewEmbyMovieClearCacheFunc added in v0.5.2

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

Types

type AlistAliCache added in v0.4.0

type AlistAliCache struct {
	M3U8ListFile []byte
}

type AlistMovieCache

func NewAlistMovieCache

func NewAlistMovieCache(movie *model.Movie, subPath string) *AlistMovieCache

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 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 *refreshcache0.RefreshCache[[]byte]
}

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, subPath string) *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 *refreshcache0.RefreshCache[[]byte]
	}
}

type EmbyUserCache

type EmbyUserCache = MapCache0[*EmbyUserCacheData]

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 MapCache0 added in v0.7.0

type MapCache0[T any] struct {
	// contains filtered or unexported fields
}

func (*MapCache0[T]) Clear added in v0.7.0

func (b *MapCache0[T]) Clear()

func (*MapCache0[T]) Delete added in v0.7.0

func (b *MapCache0[T]) Delete(key string)

func (*MapCache0[T]) LoadCache added in v0.7.0

func (b *MapCache0[T]) LoadCache(key string) (*refreshcache0.RefreshCache[T], bool)

func (*MapCache0[T]) LoadOrNewCache added in v0.7.0

func (b *MapCache0[T]) LoadOrNewCache(key string) *refreshcache0.RefreshCache[T]

func (*MapCache0[T]) LoadOrStore added in v0.7.0

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

func (*MapCache0[T]) LoadOrStoreWithDynamicFunc added in v0.7.0

func (b *MapCache0[T]) LoadOrStoreWithDynamicFunc(ctx context.Context, key string, refreshFunc MapRefreshFunc0[T]) (T, error)

func (*MapCache0[T]) StoreOrRefresh added in v0.7.0

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

func (*MapCache0[T]) StoreOrRefreshWithDynamicFunc added in v0.7.0

func (b *MapCache0[T]) StoreOrRefreshWithDynamicFunc(ctx context.Context, key string, refreshFunc MapRefreshFunc0[T]) (T, error)

type MapRefreshFunc

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

type MapRefreshFunc0 added in v0.7.0

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

type SubtitleDataCache added in v0.5.2

type SubtitleDataCache = refreshcache0.RefreshCache[[]byte]

Jump to

Keyboard shortcuts

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