[Opensim-dev] BlockingQueue
Stefan Andersson
stefan at tribalmedia.se
Wed Mar 26 08:37:29 UTC 2008
aka "The abomination that shall not be named"
Preparing for the bug-a-thon friday, I want us to come together on how we will write this out of the core; I think it will give us much better control over threading and deadlocking.
(The PROBLEM with the BlockingQueue is that threads might LOCK unknowingly because a sub-call felt like taking a peek at some blocking queue. Really really bad form.)
The BlockingQueue is used in the following contexts:
* Serving AssetRequests
- This should be solved with a specialized ThreadStart queue that news up threads whenever something tries to add to it or if there's something in the queue, up to a specified max of concurrent requests.
* The Packet Send queue
- This is up to discussion; how SHOULD sending work? Why do we even HAVE a global send queue? I guess that on a 'send' we should do a sweep thru the queues to see what else should be sent; and have one or several global timers sweeping thru all clients triggering sends on them? Or should we let the client thread take care of that?
* Texture and Asset downloads
- See AssetRequests
* JVMEngine Script compiling queue
- This is best commented on by the implementer...
I'm very motivated at doing this on friday, so give me your feedback ASAP, please.
Best,
Stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080326/9011a5b2/attachment-0001.html>
More information about the Opensim-dev
mailing list