public override MessageBundle PickPiece(PeerId id, BitField peerBitfield, List<PeerId> otherPeers, int count, int startIndex, int endIndex)
{
MessageBundle bundle;
int start, end;
if (HighPrioritySetStart >= startIndex && HighPrioritySetStart <= endIndex)
{
start = HighPrioritySetStart;
end = Math.Min(endIndex, HighPrioritySetStart + HighPrioritySetSize - 1);
if ((bundle = base.PickPiece(id, peerBitfield, otherPeers, count, start, end)) != null)
return bundle;
}
if (MediumPrioritySetStart >= startIndex && MediumPrioritySetStart <= endIndex)
{
start = MediumPrioritySetStart;
end = Math.Min(endIndex, MediumPrioritySetStart + MediumPrioritySetSize - 1);
if ((bundle = base.PickPiece(id, peerBitfield, otherPeers, count, start, end)) != null)
return bundle;
}
return base.PickPiece(id, peerBitfield, otherPeers, count, startIndex, endIndex);
}