From: Frederick W. <fre...@go...> - 2012-02-16 06:50:38
|
Erik: Thanks for the clarification. As far as I have understood, the current concept is as follows: - assign a game manager key to a thread (using NDC push) - return game manager instances based on current thread (using NDC peek) - currently, this works as it is assumed that rails is only run in EDT - in the future, proxy game managers apply this concept by running in their dedicated thread I perceive the following shortcoming: The concept stipulates that game initialization is performed within EDT - hampering potential for parallelization - rendering visualization of initialization process impossible Based on that I would propose altering the concept as follows: - remove game key and NDC push for the local game manager (former EDT instance) - in the getGameManager, assume that the local game manager is to be returned if peek returns that no NDC push has taken place for this thread - for game manager service instances, the current concept of identifying game managers by stream threads (or similar) is applicalbe as in the original concept (no change here) This altered concept doesn't have any disadvantage over the original one and would enable us to put local game initialization outside of the EDT. What's your take on this? Is there anything else to be considered? Otherwise, I would try to adopt the altered concept accordingly. -- Frederick |