Consider this code.
class MyHandler(...):
async def get(self):
while True:
# read a chunk
self.write(chunk)
await self.flush()
Since, `self.flush()` returns a Future, we can `await` on it while it writes the
chunk to socket. This means that while the data is being written to socket, our
server is free to serve other clients.
But that's not always the case. Most of the times, especially if the chunk is small
< 5 MiB, `self.flush()` is very fast, so, the current handler doesn't suspend at
`await`, and therefore, it keeps serving the file.
For larger chunks, sometimes it takes a little longer to write to the socket, and then
the server will serve other clients, but it's still not guaranteed.