source

package
v7.24.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Part

type Part interface {
	io.ReadSeeker

	// 分片偏移量
	Offset() uint64

	// 分片大小
	Size() uint64

	// 分片编号,从 1 开始
	PartNumber() uint64
}

分片

type ReadAtSeekCloser

type ReadAtSeekCloser interface {
	io.ReaderAt
	io.Seeker
	io.Closer
}

type ResetableSource

type ResetableSource interface {
	Source

	// 重置数据源
	Reset() error
}

可重置的数据源

type SizedSource

type SizedSource interface {
	Source

	// 获取数据源大小
	TotalSize() (uint64, error)
}

预知大小的数据源

type Source

type Source interface {
	io.Closer

	// 切片
	Slice(uint64) (Part, error)

	// 数据源 ID
	SourceID() (string, error)

	// 获取文件,如果数据源不是文件,则返回 nil
	GetFile() *os.File
}

数据源

func NewFileSource

func NewFileSource(filePath string) (Source, error)

将文件封装为数据源

func NewReadAtSeekCloserSource

func NewReadAtSeekCloserSource(r ReadAtSeekCloser, sourceID string) Source

将 io.ReadAt + io.Seek + io.Closer 封装为数据源

func NewReadCloserSource

func NewReadCloserSource(r io.ReadCloser, sourceID string) Source

将 io.ReadCloser 封装为数据源

func NewReadSeekCloserSource

func NewReadSeekCloserSource(r internal_io.ReadSeekCloser, sourceID string) Source

将 io.ReadSeekCloser 封装为数据源

Jump to

Keyboard shortcuts

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