sock_recv is an event-loop coroutine that accepts a socket and suspends with await until bytes are available to process. It provides the asynchronous counterpart to a socket receive operation. section 3.5.1
The socket must be non-blocking. Internally, an event loop can register it for read events, associate a callback and future, then resume the coroutine when the selector reports available data. section 3.5.1 section 14.5.6
Receiving and echoing data
data = await loop.sock_recv(socket) success = await loop.sock_sendall(socket, data) section 3.5.1
