Refactor the receive callbacks.
Refactor the receive callbacks.

This allows readahead logic.

lawnmowerlatte/hyper,lawnmowerlatte/hyper,Lukasa/hyper,Lukasa/hyper,jdecuyper/hyper,plucury/hyper,irvind/hyper,masaori335/hyper,irvind/hyper,jdecuyper/hyper,plucury/hyper,masaori335/hyper,fredthomsen/hyper,fredthomsen/hyper