Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyOptions(opts Options, olist ...Option) error
- func Close(closer ...io.Closer) error
- func CopyFileSystem(format FileFormat, srcfs vfs.FileSystem, src string, dstfs vfs.FileSystem, ...) error
- func ErrInvalidFileFormat(fmt string) error
- func GetFormats() []string
- func GetFormatsFor[T any](fileFormats map[FileFormat]T) []string
- func IsRetriableError(err error) bool
- func LimitWriter(w io.Writer, n int64) io.Writer
- func NewFileBuffer() (*fileBuffer, error)
- func NewOndemandReader(p ReaderProvider) io.ReadCloser
- func NopWriteCloser(w io.Writer) io.WriteCloser
- func OnceCloser(c io.Closer, callbacks ...CloserCallback) io.Closer
- func ReadCloser(r io.Reader) io.ReadCloser
- func RetriableError(err error) error
- func RetriableError1[T any](r T, err error) (T, error)
- func RetriableError2[S, T any](s S, r T, err error) (S, T, error)
- func Retry(cnt int, d time.Duration, f func() error) error
- func Retry1[T any](cnt int, d time.Duration, f func() (T, error)) (T, error)
- func Retry2[S, T any](cnt int, d time.Duration, f func() (S, T, error)) (S, T, error)
- func TypeForTypeSpec(t string) string
- type BlobCache
- func CachedAccess(src BlobSource, dst BlobSink, cache BlobCache) (BlobCache, error)
- func NewCascadedBlobCache(parent BlobCache) (BlobCache, error)
- func NewCascadedBlobCacheForCache(parent BlobSource, src BlobCache) (BlobCache, error)
- func NewCascadedBlobCacheForSource(parent BlobSource, src BlobSource) (BlobCache, error)
- func NewDefaultBlobCache(fss ...vfs.FileSystem) (BlobCache, error)
- func NewStaticBlobCache(path string, fss ...vfs.FileSystem) (BlobCache, error)
- func NoRefBlobCache(s BlobCache) BlobCache
- type BlobSink
- type BlobSource
- type Buffer
- type CleanupCache
- type Closer
- type CloserCallback
- type DataWriter
- type FileFormat
- type LimitedBuffer
- type LimitedWriter
- type NopCloser
- type OnDemandReader
- type Option
- type Options
- type ReaderProvider
- type ResettableReader
- type RootedCache
- type StandardOptions
- func (o *StandardOptions) ApplyOption(options Options) error
- func (o *StandardOptions) Default(fss ...vfs.FileSystem)
- func (o *StandardOptions) DefaultForPath(path string) error
- func (o *StandardOptions) DefaultFormat(fmt FileFormat)
- func (o *StandardOptions) GetFile() vfs.File
- func (o *StandardOptions) GetFileFormat() *FileFormat
- func (o *StandardOptions) GetPathFileSystem() vfs.FileSystem
- func (o *StandardOptions) GetReader() io.Reader
- func (o *StandardOptions) GetRepresentation() vfs.FileSystem
- func (o *StandardOptions) SetFile(file vfs.File)
- func (o *StandardOptions) SetFileFormat(format FileFormat)
- func (o *StandardOptions) SetPathFileSystem(fs vfs.FileSystem)
- func (o *StandardOptions) SetReader(r io.Reader)
- func (o *StandardOptions) SetRepresentation(fs vfs.FileSystem)
- func (o *StandardOptions) ValidForPath(path string) error
- func (o *StandardOptions) WriterFor(path string, mode vfs.FileMode) (io.WriteCloser, error)
- type StaticAllocatable
- type Writer
Constants ¶
const ACCESS_SUFFIX = ".acc"
ACCESS_SUFFIX is the suffix of an additional blob related file used to track the last access time by its modification time, because Go does not support a platform independent way to access the last access time attribute of a filesystem.
const DESCRIPTOR_LIMIT = int64(8196 * 4)
const KIND_FILEFORMAT = "file format"
Variables ¶
var ( ErrClosed = refmgmt.ErrClosed ErrReadOnly = errors.ErrReadOnly() )
Functions ¶
func ApplyOptions ¶
ApplyOptions applies the given list options on these options.
func CopyFileSystem ¶
func CopyFileSystem(format FileFormat, srcfs vfs.FileSystem, src string, dstfs vfs.FileSystem, dst string, perm vfs.FileMode) error
func ErrInvalidFileFormat ¶
func GetFormats ¶
func GetFormats() []string
func GetFormatsFor ¶
func GetFormatsFor[T any](fileFormats map[FileFormat]T) []string
func IsRetriableError ¶
func LimitWriter ¶
LimitWriter returns a Writer that writes to w but stops with EOF after n bytes. The underlying implementation is a *LimitedWriter.
func NewFileBuffer ¶
func NewFileBuffer() (*fileBuffer, error)
func NewOndemandReader ¶
func NewOndemandReader(p ReaderProvider) io.ReadCloser
func NopWriteCloser ¶
func NopWriteCloser(w io.Writer) io.WriteCloser
NopWriteCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r.
func OnceCloser ¶
func OnceCloser(c io.Closer, callbacks ...CloserCallback) io.Closer
func ReadCloser ¶
func ReadCloser(r io.Reader) io.ReadCloser
func RetriableError ¶
func RetriableError1 ¶
func RetriableError2 ¶
func TypeForTypeSpec ¶
TypeForTypeSpec returns the pure type info provided by a type specification.The format hint is an optional suffix separated by a +.
Types ¶
type BlobCache ¶
type BlobCache interface { BlobSource BlobSink AddData(data blobaccess.DataAccess) (int64, digest.Digest, error) }
func CachedAccess ¶
func CachedAccess(src BlobSource, dst BlobSink, cache BlobCache) (BlobCache, error)
func NewCascadedBlobCache ¶
func NewCascadedBlobCacheForCache ¶
func NewCascadedBlobCacheForCache(parent BlobSource, src BlobCache) (BlobCache, error)
func NewCascadedBlobCacheForSource ¶
func NewCascadedBlobCacheForSource(parent BlobSource, src BlobSource) (BlobCache, error)
func NewDefaultBlobCache ¶
func NewDefaultBlobCache(fss ...vfs.FileSystem) (BlobCache, error)
func NewStaticBlobCache ¶
func NewStaticBlobCache(path string, fss ...vfs.FileSystem) (BlobCache, error)
func NoRefBlobCache ¶
type BlobSink ¶
type BlobSink interface { refmgmt.Allocatable AddBlob(blob blobaccess.BlobAccess) (int64, digest.Digest, error) }
func NoRefBlobSink ¶
type BlobSource ¶
type BlobSource interface { refmgmt.Allocatable GetBlobData(digest digest.Digest) (int64, blobaccess.DataAccess, error) }
func NoRefBlobSource ¶
func NoRefBlobSource(s BlobSource) BlobSource
type CleanupCache ¶
type CleanupCache interface { // Cleanup can be implemented to offer a cache reorg. // It returns the number and size of // - handled entries (cnt, size) // - not handled entries (ncnt, nsize) // - failing entries (fcnt, fsize) Cleanup(p common.Printer, before *time.Time, dryrun bool) (cnt int, ncnt int, fcnt int, size int64, nsize int64, fsize int64, err error) }
type CloserCallback ¶
type CloserCallback func()
type DataWriter ¶
func NewDataAccessWriter ¶
func NewDataAccessWriter(acc blobaccess.DataAccess) DataWriter
func NewReaderWriter ¶
func NewReaderWriter(r io.ReadCloser) DataWriter
func NewWriteAtWriter ¶
func NewWriteAtWriter(at func(w io.WriterAt) error) DataWriter
type FileFormat ¶
type FileFormat string
const ( FormatTar FileFormat = "tar" FormatTGZ FileFormat = "tgz" FormatDirectory FileFormat = "directory" FormatNone FileFormat = "" )
func DetectFormat ¶
func DetectFormat(path string, fs vfs.FileSystem) (*FileFormat, error)
func DetectFormatForFile ¶
func DetectFormatForFile(file vfs.File) (*FileFormat, error)
func FileFormatForTypeSpec ¶
func FileFormatForTypeSpec(t string) FileFormat
FileFormatForTypeSpec returns the format hint provided by a type specification.The format hint is an optional suffix separated by a +.
func (FileFormat) ApplyOption ¶
func (o FileFormat) ApplyOption(options Options) error
func (FileFormat) String ¶
func (f FileFormat) String() string
func (FileFormat) Suffix ¶
func (f FileFormat) Suffix() string
type LimitedBuffer ¶
type LimitedBuffer struct { *LimitedWriter // contains filtered or unexported fields }
func LimitBuffer ¶
func LimitBuffer(n int64) *LimitedBuffer
func (*LimitedBuffer) Bytes ¶
func (b *LimitedBuffer) Bytes() []byte
func (*LimitedBuffer) Exceeded ¶
func (b *LimitedBuffer) Exceeded() bool
type LimitedWriter ¶
A LimitedWriter writes to W but limits the amount of data written to just N bytes. Each call to Write updates N to reflect the new amount remaining. Write returns EOF when N <= 0 or when the underlying W returns EOF.
type OnDemandReader ¶
type OnDemandReader struct {
// contains filtered or unexported fields
}
func (*OnDemandReader) Close ¶
func (o *OnDemandReader) Close() error
type Option ¶
Option is the interface to specify different archive options.
func PathFileSystem ¶
func PathFileSystem(fs vfs.FileSystem) Option
PathFileSystem set the evaluation filesystem for the path name.
func RepresentationFileSystem ¶
func RepresentationFileSystem(fs vfs.FileSystem) Option
RepresentationFileSystem set the evaltuation filesystem for the path name.
type Options ¶
type Options interface { Option SetFileFormat(FileFormat) GetFileFormat() *FileFormat SetPathFileSystem(vfs.FileSystem) GetPathFileSystem() vfs.FileSystem SetRepresentation(vfs.FileSystem) GetRepresentation() vfs.FileSystem SetFile(vfs.File) GetFile() vfs.File SetReader(closer io.Reader) GetReader() io.Reader ValidForPath(path string) error WriterFor(path string, mode vfs.FileMode) (io.WriteCloser, error) DefaultFormat(fmt FileFormat) Default(fss ...vfs.FileSystem) DefaultForPath(path string) error }
type ReaderProvider ¶
type ReaderProvider interface {
Reader() (io.ReadCloser, error)
}
type ResettableReader ¶
type ResettableReader struct {
// contains filtered or unexported fields
}
func NewResettableReader ¶
func NewResettableReader(orig io.ReadCloser, size int64) (*ResettableReader, error)
func (*ResettableReader) Close ¶
func (b *ResettableReader) Close() error
func (*ResettableReader) Reset ¶
func (b *ResettableReader) Reset() (io.ReadCloser, error)
type RootedCache ¶
type RootedCache interface {
Root() (string, vfs.FileSystem)
}
type StandardOptions ¶
type StandardOptions struct { // FileFormat is the optional format. FileFormat *FileFormat `json:"fileFormat,omitempty"` // FileSystem is the virtual filesystem to evaluate the file path. Default is the OS filesytem // or the filesystem defined as base filesystem for the context // This configuration option is not available for the textual representation of // the repository specification PathFileSystem vfs.FileSystem `json:"-"` // Representation is the virtual filesystem to represent the active repository cache. // This configuration option is not available for the textual representation of // the repository specification Representation vfs.FileSystem `json:"-"` // File is an opened file object to use instead of the path and path filesystem // It should never be closed if given to support temporary files File vfs.File `json:"-"` // Reader provides a one time access to the content (archive content only) // The resulting access is therefore temporary and cannot be written back // to its origin, but to other destinations. // The reader must be closed by the provider. Reader io.Reader `json:"-"` }
func (*StandardOptions) ApplyOption ¶
func (o *StandardOptions) ApplyOption(options Options) error
func (*StandardOptions) Default ¶
func (o *StandardOptions) Default(fss ...vfs.FileSystem)
func (*StandardOptions) DefaultForPath ¶
func (o *StandardOptions) DefaultForPath(path string) error
func (*StandardOptions) DefaultFormat ¶
func (o *StandardOptions) DefaultFormat(fmt FileFormat)
func (*StandardOptions) GetFile ¶
func (o *StandardOptions) GetFile() vfs.File
func (*StandardOptions) GetFileFormat ¶
func (o *StandardOptions) GetFileFormat() *FileFormat
func (*StandardOptions) GetPathFileSystem ¶
func (o *StandardOptions) GetPathFileSystem() vfs.FileSystem
func (*StandardOptions) GetReader ¶
func (o *StandardOptions) GetReader() io.Reader
func (*StandardOptions) GetRepresentation ¶
func (o *StandardOptions) GetRepresentation() vfs.FileSystem
func (*StandardOptions) SetFile ¶
func (o *StandardOptions) SetFile(file vfs.File)
func (*StandardOptions) SetFileFormat ¶
func (o *StandardOptions) SetFileFormat(format FileFormat)
func (*StandardOptions) SetPathFileSystem ¶
func (o *StandardOptions) SetPathFileSystem(fs vfs.FileSystem)
func (*StandardOptions) SetReader ¶
func (o *StandardOptions) SetReader(r io.Reader)
func (*StandardOptions) SetRepresentation ¶
func (o *StandardOptions) SetRepresentation(fs vfs.FileSystem)
func (*StandardOptions) ValidForPath ¶
func (o *StandardOptions) ValidForPath(path string) error
func (*StandardOptions) WriterFor ¶
func (o *StandardOptions) WriterFor(path string, mode vfs.FileMode) (io.WriteCloser, error)
type StaticAllocatable ¶
type StaticAllocatable struct{}
func (StaticAllocatable) Ref ¶
func (_ StaticAllocatable) Ref() error
func (StaticAllocatable) Unref ¶
func (_ StaticAllocatable) Unref() error