fetch inbound data on demand to speedup and fix inbound bisection

This is an attempt to download inbound data in a lazy way.
I have to admit I find this logic a bit confusing. Why do we start with an artificially large range on both ends and try to scale it down?