The ref needs to be in-scope of the recieve for it to be optimized.
Revert to a macro-only, non-recursive on eagain method for managing requests.