is this acting like a timeout on socket receive? if so, why not just set a timeout on receive?