fix crash

This commit is contained in:
YouROK
2021-05-31 09:05:48 +03:00
parent 6fb9b56b63
commit 615f0b8f81

View File

@@ -137,28 +137,33 @@ func (c *Cache) GetState() *state.CacheState {
piecesState := make(map[int]state.ItemState, 0) piecesState := make(map[int]state.ItemState, 0)
var fill int64 = 0 var fill int64 = 0
for _, p := range c.pieces {
if p.Size > 0 { if len(c.pieces) > 0 {
fill += p.Size for _, p := range c.pieces {
piecesState[p.Id] = state.ItemState{ if p.Size > 0 {
Id: p.Id, fill += p.Size
Size: p.Size, piecesState[p.Id] = state.ItemState{
Length: c.pieceLength, Id: p.Id,
Completed: p.Complete, Size: p.Size,
Length: c.pieceLength,
Completed: p.Complete,
}
} }
} }
} }
readersState := make([]*state.ReaderState, 0) readersState := make([]*state.ReaderState, 0)
c.muReaders.Lock() c.muReaders.Lock()
for r, _ := range c.readers { if len(c.readers) > 0 {
rng := r.getPiecesRange() for r, _ := range c.readers {
pc := r.getReaderPiece() rng := r.getPiecesRange()
readersState = append(readersState, &state.ReaderState{ pc := r.getReaderPiece()
Start: rng.Start, readersState = append(readersState, &state.ReaderState{
End: rng.End, Start: rng.Start,
Reader: pc, End: rng.End,
}) Reader: pc,
})
}
} }
c.muReaders.Unlock() c.muReaders.Unlock()