class SegmentMerger {
public void work(double units) throws MergeAbortedException {
// do nothing
}
}
class SegmentMerger {
public void work(double units) throws MergeAbortedException {
// do nothing
}
}
class SegmentMerger.CheckAbort {
/**
* Records the fact that roughly units amount of work
* have been done since this method was last called.
* When adding time-consuming code into SegmentMerger,
* you should test different values for units to ensure
* that the time in between calls to merge.checkAborted
* is up to ~ 1 second.
*/
public void work(double units) throws MergePolicy.MergeAbortedException {
workCount += units;
if (workCount >= 10000.0) {
merge.checkAborted(dir);
workCount = 0;
}
}
}
|