mirror of
https://github.com/ap-pauloafonso/ratio-spoof.git
synced 2026-05-13 13:30:39 +00:00
20 lines
747 B
Go
20 lines
747 B
Go
package generator
|
|
|
|
type RoundingGenerator interface {
|
|
NextAmountReport(downloadCandidateNextAmount, uploadCandidateNextAmount, leftCandidateNextAmount, pieceSize int) (downloaded, uploaded, left int)
|
|
}
|
|
|
|
func NewRoundingGenerator(code string) (RoundingGenerator, error) {
|
|
return &DefaultRoundingGenerator{}, nil
|
|
|
|
}
|
|
|
|
type DefaultRoundingGenerator struct{}
|
|
|
|
func (d *DefaultRoundingGenerator) NextAmountReport(downloadCandidateNextAmount, uploadCandidateNextAmount, leftCandidateNextAmount, pieceSize int) (downloaded, uploaded, left int) {
|
|
|
|
down := downloadCandidateNextAmount
|
|
up := uploadCandidateNextAmount - (uploadCandidateNextAmount % (16 * 1024))
|
|
l := leftCandidateNextAmount - (leftCandidateNextAmount % pieceSize)
|
|
return down, up, l
|
|
}
|