Browse Source

server: fix json marshalling of downloadBlobPart (#6108)

jyan/q4_4/8
Blake Mizerany 2 years ago
committed by GitHub
parent
commit
dc77bbcfa4
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 30
      server/download.go

30
server/download.go

@ -61,6 +61,36 @@ type blobDownloadPart struct {
*blobDownload `json:"-"`
}
type jsonBlobDownloadPart struct {
N int
Offset int64
Size int64
Completed int64
}
func (p *blobDownloadPart) MarshalJSON() ([]byte, error) {
return json.Marshal(jsonBlobDownloadPart{
N: p.N,
Offset: p.Offset,
Size: p.Size,
Completed: p.Completed.Load(),
})
}
func (p *blobDownloadPart) UnmarshalJSON(b []byte) error {
var j jsonBlobDownloadPart
if err := json.Unmarshal(b, &j); err != nil {
return err
}
*p = blobDownloadPart{
N: j.N,
Offset: j.Offset,
Size: j.Size,
}
p.Completed.Store(j.Completed)
return nil
}
const (
numDownloadParts = 64
minDownloadPartSize int64 = 100 * format.MegaByte

Loading…
Cancel
Save