SpiderMonkey risks being omitted as default networking system – Updated!
February 25, 2011 in Uncategorized
With the booming development in MonkeyZone and many other projects, several issues have surfaced in SpiderMonkey, our default networking system. The main problem is not the issues by themselves, but rather Lars’ lack of time to actively support the library, in great part due to a full time job.
Update: Paul Speed @pspeed brought SpiderMonkey up to date and then some. The internals are largely rewritten, but the API stays more or less the same. Best of all, it is definitely thread-safe now!
We’re looking at two possible outcomes
- One or more committed contributors step up to continue supporting SpiderMonkey.
- We omit SpiderMonkey from the jME3 core and start looking for a new library to integrate. KryoNet is a likely candidate.
Outstanding issues
While most needed functions are integrated already there are some issues with multithreading in Spidermonkey, this mainly results in problems with users connecting and disconnecting, causing concurrent access to the client lists when messages are sent at that moment. Some queueing and synchronizing in the client lists should basically solve these problems. Additionally, spidermonkey should be made thread safe from the user side, allowing to call send() and broadcast() methods from any thread.

Latest Comments