Files
mautrix-telegram/pkg/gotd/telegram/uploader/progress.go
T
2025-06-27 20:03:37 -07:00

26 lines
624 B
Go

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
}