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)
|
||||
if p.PieceNum == pp.TotalPiece-1 {
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -118,20 +118,21 @@ func (s *seedPeer) TriggerTask(ctx context.Context, task *Task) (*Peer, *rpcsche
|
|||
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.
|
||||
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{
|
||||
TotalPieceCount: piece.TotalPieceCount,
|
||||
ContentLength: piece.ContentLength,
|
||||
}, 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