Practice ยท 2 of 2
Timeouts are survival
1. static int readWithBudget(java.io.Reader r, int budgetChars) โ read up to
budgetChars characters into a String, then return the string LENGTH (simulates a
bounded read; use the reader's real read(char[]) loop).
2. static long elapsedOf(java.util.function.Supplier<?> work) โ nanoTime around
work.get(), return elapsed nanos (the shape of every timeout guard).
3. static String statusFor(long elapsedNanos, long deadlineNanos) โ return
"ok" if elapsed <= deadline else "timeout".
Difficulty: advanced
Press Submit to check your solution.
Back to lesson: Practice: Socket drills