On Mon, Feb 11, 2013 at 2:35 PM, Saúl Ibarra Corretgé firstname.lastname@example.org:
Good. How about calling future.result(), and letting it raise InvalidStateError ? (Except if the timeout handler was called.)
I did a quick test to see how it feels and I do like it. I'll update the review with this change plus the other suggested ones.