The record in #7 fixes the thresholds. This is where they become behaviour a
client can build on. The property that matters is that a caller learns something
true at 300 ms rather than learning nothing until a timeout.
What this produces
A request that reports as it goes: it started, a cached answer is available, the
answer is late, the answer is not coming. The exact stages and their thresholds
come from #7.
The cached answer offered first where one exists, without cancelling the network
request, so that a screen fills immediately and corrects itself.
Every stage carrying enough for the client to draw something honest without
guessing at what is happening.
Done when
A test drives the fake server at several delays and asserts the exact sequence
of stages for each, including the case where a cached answer exists and the
case where none does. Blocked on #7, #21, #27, #43, and on #102 for the clock
the stage thresholds are measured against.
The record in #7 fixes the thresholds. This is where they become behaviour a
client can build on. The property that matters is that a caller learns something
true at 300 ms rather than learning nothing until a timeout.
What this produces
A request that reports as it goes: it started, a cached answer is available, the
answer is late, the answer is not coming. The exact stages and their thresholds
come from #7.
The cached answer offered first where one exists, without cancelling the network
request, so that a screen fills immediately and corrects itself.
Every stage carrying enough for the client to draw something honest without
guessing at what is happening.
Done when
A test drives the fake server at several delays and asserts the exact sequence
of stages for each, including the case where a cached answer exists and the
case where none does. Blocked on #7, #21, #27, #43, and on #102 for the clock
the stage thresholds are measured against.