Replace MSG_PEEK with a pre-received data interface.
Summary: MSG_PEEK was difficult if not impossible to use well since we do not provide a way wait for more data to arrive. If you are using setPeek on AsyncSocket, and you do not receive the amount of data you want, you must either abandon your peek attempt, or spin around the event base waiting for more data. This diff replaces the peek interface on AsyncSocket with a pre-received data interface, allowing users to insert data back onto the front of connections after reading some data in another layer.
Reviewed By: djwatson
Differential Revision:
D4626315
fbshipit-source-id:
c552e64f5b3ac9e40ea3358d65b4b9db848f5d74