Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CachedSource ¶
type CachedSource struct {
// contains filtered or unexported fields
}
CachedSource 为远程 Reader 增加 MemSource 内存缓存,并可按 TTL 或 Watch 通知失效。
func NewCachedSource ¶
func NewCachedSource(remote Reader, opts ...CachedOption) (*CachedSource, error)
NewCachedSource 为 remote 创建缓存包装;remote 不能为 nil。
func (*CachedSource) Invalidate ¶
func (c *CachedSource) Invalidate(key string)
Invalidate 删除 key 的缓存,强制下一次 Load 访问远程源。
type FSSourceOption ¶
type FSSourceOption func(*FileSystemSource)
FSSourceOption 配置 FileSystemSource。
func WithFSPrefix ¶
func WithFSPrefix(prefix string) FSSourceOption
WithFSPrefix 设置读取 fs.FS 时追加到 key 前的路径前缀。 前缀开头的斜杠会移除,末尾缺少斜杠时自动补充。
type FileSource ¶
type FileSource struct {
// contains filtered or unexported fields
}
FileSource 从本地文件系统读取脚本,并通过修改时间轮询支持 Watch。
type FileSystemSource ¶
type FileSystemSource struct {
// contains filtered or unexported fields
}
FileSystemSource 从任意 fs.FS 实现读取脚本,不负责监听文件变化。
func NewFileSystemSource ¶
func NewFileSystemSource(fsys fs.FS, opts ...FSSourceOption) (*FileSystemSource, error)
NewFileSystemSource 使用 fsys 创建文件系统脚本源;fsys 为 nil 时返回错误。
func (*FileSystemSource) Close ¶
func (s *FileSystemSource) Close() error
Close 无需执行任何操作,底层 fs.FS 由调用方管理。
type MemSource ¶
type MemSource struct {
// contains filtered or unexported fields
}
func NewMemSource ¶
func NewMemSource() *MemSource
type MultiSource ¶
type MultiSource struct {
// contains filtered or unexported fields
}
MultiSource 按配置策略组合多个 Reader,并将读取和关闭操作统一转发。
func NewFallbackSource ¶
func NewFallbackSource(sources ...Reader) (*MultiSource, error)
NewFallbackSource 创建按顺序回退的组合脚本源。
func NewFirstOKSource ¶
func NewFirstOKSource(sources ...Reader) (*MultiSource, error)
NewFirstOKSource 创建并发读取并返回首个成功结果的组合脚本源。
func NewMultiSource ¶
func NewMultiSource(strategy MultiStrategy, sources ...Reader) (*MultiSource, error)
NewMultiSource 创建组合脚本源;sources 不能为空且不能包含 nil。
type MultiStrategy ¶
type MultiStrategy int
MultiStrategy 定义多个脚本源的读取策略。
const ( // MultiStrategyFallback 按顺序读取,返回第一个成功结果。 MultiStrategyFallback MultiStrategy = iota // MultiStrategyFirstOK 并发读取,返回第一个成功结果并取消其他请求。 MultiStrategyFirstOK )
type ReadWatcher ¶
type TransformSource ¶
type TransformSource struct {
// contains filtered or unexported fields
}
func NewTransformSource ¶
func NewTransformSource(inner Reader, transforms ...TransformFunc) (*TransformSource, error)
func (*TransformSource) Close ¶
func (ts *TransformSource) Close() error
func (*TransformSource) Then ¶
func (ts *TransformSource) Then(fn TransformFunc) (*TransformSource, error)
Click to show internal directories.
Click to hide internal directories.