From: Robert W. <ro...@ma...> - 2009-11-02 15:17:15
|
Continuing with the cleanup after the Netty implementation, I have now removed the MUSDispatcher class together with the related MUSGroupSendQueue class. I thought I'd check in before doing the same with the similar classes used for database messaging: MUSDBDispatcher & MUSSQLDispatcher (and their related classes MUSDBSendQueue & MUSSQLSendQueue) At the moment they are not used anyway since the server behaves as if ReducedThreadsSynchronousMode is enabled. I assume that the original reason for having these classes was to make sure no database operations would block for too long and to control memory consumption. With Netty we now have an execution handler which is using a thread pool when dispatching messages so even if one or more messages take longer than usual to process, it won't disrupt other messages. The specifics of the thread pool (number of threads & memory limits) can be configured by the end-user. The same can be said about the MUSServerLoginQueue, but using that one makes it possible to put a limit on the number of logins we handle at the same time which might be useful to reduce the effects of login DDOS attacks. So my suggestion is that we keep the login queue for now but get rid of the database dispatchers. /Rob |