I don't get why would you possibly want to use a single thread, when you queue all the packets into one thread, do expect a significant performance loss when there's major stress on it, it will also cause delays in sending and processing received packets. What would you do if the thread is getting deadlocked?
Literally, by placing the packet routing and handling in a single thread, the packets can't be processed all at once, they will be chained one after another, and won't be processed in a parallel manner, in other words - a HUGE delay when there's stress on the server.
The only reason why multithreaded sources here aren't stable is because they are literally spaghetti, they are full of deadlocks because they weren't implemented properly, thus being a complete shit.
Just because the implementation is bad, doesn't mean the concept/solution is, it shouldn't reflect on it.
Multi threading will always be better than single threading, especially for this use case, have fun reading:)
Bad Request