fetch inbound data on demand to speedup and fix inbound bisection

This is an attempt to download inbound data in a lazy way.
That makes sense, do you think you could put this rationale in the comment?