Documentation
¶
Index ¶
- type Storage
- func (s *Storage) DownloadBucket(ctx context.Context, endpoint string, id bucket.ID, ttl time.Duration) error
- func (s *Storage) DownloadFile(ctx context.Context, endpoint string, bucketID bucket.ID, file string) error
- func (s *Storage) GetBucket(id bucket.ID, addTTL *time.Duration) (path string, unlock func(), err error)
- func (s *Storage) GetBucketMeta(id bucket.ID) (meta BucketMeta, err error)
- func (s *Storage) GetFile(bucketID bucket.ID, file string) (path string, unlock func(), err error)
- func (s *Storage) RemoveBucket(id bucket.ID) (err error)
- func (s *Storage) ReserveBucket(id bucket.ID, ttl time.Duration) (path string, commit, abort func() error, err error)
- func (s *Storage) ReserveFile(bucketID bucket.ID, file string) (path string, commit, abort func() error, err error)
- func (s *Storage) Shutdown()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
func (*Storage) DownloadBucket ¶ added in v1.0.0
func (s *Storage) DownloadBucket( ctx context.Context, endpoint string, id bucket.ID, ttl time.Duration, ) error
DownloadBucket Скачивает бакет id с указанного endpoint ttl - время жизни бакета Если бакет существует, то его время жизни продлевается на ttl
func (*Storage) DownloadFile ¶ added in v0.4.0
func (s *Storage) DownloadFile( ctx context.Context, endpoint string, bucketID bucket.ID, file string, ) error
DownloadFile Скачивает файл file в существующий бакет bucketID с указанного endpoint Если файл уже существует, то ничего не происходит
func (*Storage) GetBucket ¶ added in v1.0.0
func (s *Storage) GetBucket(id bucket.ID, addTTL *time.Duration) (path string, unlock func(), err error)
GetBucket Возвращает абсолютный путь бакета id addTTL - длительность продления жизни бакета (без надобности оставьте nil) Бакет блокируется в режиме на чтение. Для разблокировки необходимо вызвать unlock() НЕ гарантируется консистентность данных при модификации данных
func (*Storage) GetBucketMeta ¶ added in v1.0.0
GetBucketMeta Возвращает метаинформацию о бакете id
func (*Storage) GetFile ¶ added in v1.1.0
GetFile Возвращает абсолютный путь бакета bucketID, в котором лежит файл file Бакет и файл блокируются в режиме на чтение. Для разблокировки необходимо вызвать unlock() НЕ гарантируется консистентность данных при модификации данных
func (*Storage) RemoveBucket ¶ added in v1.0.0
RemoveBucket Удаляет бакет id
func (*Storage) ReserveBucket ¶ added in v1.2.0
func (s *Storage) ReserveBucket(id bucket.ID, ttl time.Duration) (path string, commit, abort func() error, err error)
ReserveBucket Разервирует бакет id ttl - время жизни бакета Бакет изначально создаётся во временной директории; path - абсолютный путь временной директории Бакет блокируется в режиме на запись. Для разблокировки необходимо вызвать commit() или abort() При вызове функции commit() бакет перемещается в storage При вызове функции abort() бакет удаляется
func (*Storage) ReserveFile ¶ added in v1.2.0
func (s *Storage) ReserveFile(bucketID bucket.ID, file string) (path string, commit, abort func() error, err error)
ReserveFile Резервирует файл file в существующем бакете bucketID Бакет блокируется в режиме на запись. Для разблокировки необходимо вызвать commit() или abort() Файл резервируется во временной директории; path - абсолютный путь до временной директории При вызове функции commit() файл перемещается в storage При вызове функции abort() файл удаляется