Since the sending of messages out of sender sockets was changed to being handled in executors, we started having frequent stack traces upon sending packets.
socket.sendto is not thread safe and this isn't how asyncio should deal with non blocking send.
Changed the code to wrap every sender socket in an asyncio transport, so that sending is dealt with asynchronously.
Yes.. I had done a quick fix because I really did not like blocking IO's in there. I was planning to get to a Protocol eventually, but thanks for fixing this before me.
Since the sending of messages out of sender sockets was changed to being handled in executors, we started having frequent stack traces upon sending packets.
socket.sendto is not thread safe and this isn't how asyncio should deal with non blocking send.
Changed the code to wrap every sender socket in an asyncio transport, so that sending is dealt with asynchronously.