Class BitmappedObjectReachabilityChecker
- java.lang.Object
-
- org.eclipse.jgit.internal.revwalk.BitmappedObjectReachabilityChecker
-
- All Implemented Interfaces:
ObjectReachabilityChecker
public class BitmappedObjectReachabilityChecker extends Object implements ObjectReachabilityChecker
Checks if all objects are reachable from certain starting points using bitmaps.
-
-
Constructor Summary
Constructors Constructor Description BitmappedObjectReachabilityChecker(ObjectWalk walk)
New instance of the reachability checker using a existing walk.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<RevObject>
areAllReachable(Collection<RevObject> targets, Stream<RevObject> starters)
Checks that all targets are reachable from the starters.
-
-
-
Constructor Detail
-
BitmappedObjectReachabilityChecker
public BitmappedObjectReachabilityChecker(ObjectWalk walk)
New instance of the reachability checker using a existing walk.- Parameters:
walk
- ObjectWalk instance to reuse. Caller retains ownership.
-
-
Method Detail
-
areAllReachable
public Optional<RevObject> areAllReachable(Collection<RevObject> targets, Stream<RevObject> starters) throws IOException
Checks that all targets are reachable from the starters. This implementation tries to shortcut the check adding starters incrementally. Ordering the starters by relevance can improve performance in the average case.- Specified by:
areAllReachable
in interfaceObjectReachabilityChecker
- Parameters:
targets
- objects to check for reachability from the startersstarters
- objects known to be reachable to the caller- Returns:
- Optional a single unreachable target if there are any (there could be more). Empty optional means all targets are reachable.
- Throws:
IOException
- Cannot access underlying storage
-
-