You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
624 B
26 lines
624 B
3 years ago
|
package uploader
|
||
|
|
||
|
import "context"
|
||
|
|
||
|
// ProgressState represents upload state change.
|
||
|
type ProgressState struct {
|
||
|
// ID of upload.
|
||
|
ID int64
|
||
|
// Name of uploading file.
|
||
|
Name string
|
||
|
// Part is an ID of uploaded part.
|
||
|
Part int
|
||
|
// PartSize is a size of uploaded part.
|
||
|
PartSize int
|
||
|
// Uploaded is a total sum of uploaded bytes.
|
||
|
Uploaded int64
|
||
|
// Total is a total size of uploading file.
|
||
|
// May be equal to -1, in case when Upload created without size (stream upload).
|
||
|
Total int64
|
||
|
}
|
||
|
|
||
|
// Progress is interface of upload process tracker.
|
||
|
type Progress interface {
|
||
|
Chunk(ctx context.Context, state ProgressState) error
|
||
|
}
|