feat: scheduler merge end of piece and piece from seed peer (#1474)
Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
parent
1936acfd07
commit
f9d2736ae8
|
|
@ -249,7 +249,7 @@ func (s *seedSynchronizer) sendRemindingPieceSeeds(desired int32, reuse bool) er
|
||||||
ps := s.compositePieceSeed(pp, p)
|
ps := s.compositePieceSeed(pp, p)
|
||||||
if p.PieceNum == pp.TotalPiece-1 {
|
if p.PieceNum == pp.TotalPiece-1 {
|
||||||
ps.Done, ps.EndTime = true, uint64(time.Now().UnixNano())
|
ps.Done, ps.EndTime = true, uint64(time.Now().UnixNano())
|
||||||
s.Infof("seed tasks start time: %d, end time: %d, cost: %dms", ps.BeginTime, ps.EndTime, (ps.EndTime-ps.BeginTime)/1000000)
|
s.Infof("seed tasks start time: %d, end time: %d, cost: %dms, piece number: %d", ps.BeginTime, ps.EndTime, (ps.EndTime-ps.BeginTime)/1000000, p.PieceNum)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = s.seedsServer.Send(&ps)
|
err = s.seedsServer.Send(&ps)
|
||||||
|
|
|
||||||
|
|
@ -118,20 +118,21 @@ func (s *seedPeer) TriggerTask(ctx context.Context, task *Task) (*Peer, *rpcsche
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle piece download successfully.
|
||||||
|
peer.Log.Infof("receive piece from seed peer: %#v %#v", piece, piece.PieceInfo)
|
||||||
|
peer.Pieces.Set(uint(piece.PieceInfo.PieceNum))
|
||||||
|
peer.AppendPieceCost(pkgtime.SubNano(int64(piece.EndTime), int64(piece.BeginTime)).Milliseconds())
|
||||||
|
task.StorePiece(piece.PieceInfo)
|
||||||
|
|
||||||
// Handle end of piece.
|
// Handle end of piece.
|
||||||
if piece.Done {
|
if piece.Done {
|
||||||
peer.Log.Infof("receive end of from seed peer: %#v %#v", piece, piece.PieceInfo)
|
peer.Log.Infof("receive done piece")
|
||||||
return peer, &rpcscheduler.PeerResult{
|
return peer, &rpcscheduler.PeerResult{
|
||||||
TotalPieceCount: piece.TotalPieceCount,
|
TotalPieceCount: piece.TotalPieceCount,
|
||||||
ContentLength: piece.ContentLength,
|
ContentLength: piece.ContentLength,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle piece download successfully.
|
|
||||||
peer.Log.Infof("receive piece from seed peer: %#v %#v", piece, piece.PieceInfo)
|
|
||||||
peer.Pieces.Set(uint(piece.PieceInfo.PieceNum))
|
|
||||||
peer.AppendPieceCost(pkgtime.SubNano(int64(piece.EndTime), int64(piece.BeginTime)).Milliseconds())
|
|
||||||
task.StorePiece(piece.PieceInfo)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue