Skip to content

Commit beae95b

Browse files
committed
PR fixes
1 parent 5ef637f commit beae95b

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

driver-core/src/main/com/mongodb/internal/time/Timeout.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.mongodb.internal.time;
1717

1818
import com.mongodb.MongoInterruptedException;
19+
import com.mongodb.assertions.Assertions;
1920
import com.mongodb.internal.function.CheckedConsumer;
2021
import com.mongodb.internal.function.CheckedFunction;
2122
import com.mongodb.internal.function.CheckedRunnable;
@@ -86,14 +87,17 @@ static Timeout expiresIn(final long duration, final TimeUnit unit, final ZeroDur
8687
// TODO (CSOT) confirm that all usages in final PR always supply a non-negative duration
8788
if (duration < 0) {
8889
throw new AssertionError("Timeouts must not be in the past");
89-
}
90-
91-
if (zeroDurationIs == ZeroDurationIs.INFINITE) {
92-
if (duration == 0) {
93-
return Timeout.infinite();
90+
} else if (duration == 0) {
91+
switch (zeroDurationIs) {
92+
case INFINITE:
93+
return Timeout.infinite();
94+
case EXPIRED:
95+
return TimePoint.now();
96+
default:
97+
throw Assertions.fail("Unknown enum value");
9498
}
95-
return expiresIn(duration, unit, ZeroDurationIs.EXPIRED);
9699
} else {
100+
// duration will never be negative
97101
return TimePoint.now().timeoutAfterOrInfiniteIfNegative(duration, unit);
98102
}
99103
}

0 commit comments

Comments
 (0)