Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChunkState ¶
type ChunkState struct {
Index int `json:"index"`
Start int64 `json:"start"`
End int64 `json:"end"`
Current int64 `json:"current"` // Текущее глобальное смещение в байтах
}
ChunkState содержит информацию о чанке для возможной докачки.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client реализует основной клиент для многопоточной загрузки.
func NewClient ¶
func NewClient(opts ...ClientOption) *Client
NewClient создает новый экземпляр Client с заданными опциями.
type ClientOption ¶
type ClientOption func(*Options)
ClientOption — функциональная опция для настройки клиента.
func WithBufferSize ¶
func WithBufferSize(size int) ClientOption
WithBufferSize задает размер буфера чтения (по умолчанию 512 KB).
func WithConcurrency ¶
func WithConcurrency(n int) ClientOption
WithConcurrency задает количество параллельных потоков загрузки.
func WithHTTP3 ¶
func WithHTTP3() ClientOption
WithHTTP3 включает поддержку протокола HTTP/3 (QUIC) для клиента.
func WithMirrors ¶
func WithMirrors(urls ...string) ClientOption
WithMirrors задает дополнительные зеркала для скачивания.
func WithOutputDir ¶
func WithOutputDir(dir string) ClientOption
WithOutputDir задает директорию для сохранения скачанных файлов.
func WithUserAgent ¶
func WithUserAgent(ua string) ClientOption
WithUserAgent задает заголовок User-Agent для HTTP-запросов.
type Options ¶
type Options struct {
Concurrency int
UserAgent string
OutputDir string
HTTP3 bool
BufferSize int
Mirrors []string
}
Options хранит настройки для клиента.