Here we could poll the single socket only. Previously I used this because this performs better when we send request on multiple clients. 

Image we have multiple clients:
```
futures = [c.send(..) for c in clietns]
for f in futures:
 f.wait()
```
Because all the clients share the same loop. So when we first time call ```f.wait()```, the poll loop will wait for the responses of all the clients. But the response arrives may not be the expected one of current future, so the poll loop stops but the response is not expected, we need to restart the loop again until the expected one arrives.

If the we just poll the single socket, in the ```f.wait()``` we only handle the message of this specific socket only, this may cause some inefficiency. Like you said, scalability issuse?

But since we use broadcast send in we send to multiple clients, this may be better.