[Opensim-dev] IStreamHandler vs IStreamedHandler

Alan M Webb alan_webb at us.ibm.com
Fri May 16 11:45:00 UTC 2008


Yes, I had looked at this as well, and come to the same (inconclusive) 
conclusions. My view was that it is pretty unlikely that a single model 
would ever fit the bill, so the IStreamHandler/IStreamedHandler issue 
seemed moot. What I was trying to get my head around was whether or note 
there was a better way to filter between different handler types, and 
whether or not, in fact, a whole new one was needed for REST. On the basis 
that the current stream handlers are fundamentally useless in this 
respect, for the reasons you cite here and in subsequent notes.

BaseHttpServer seems to do a pretty efficient job of obtaining requests 
and handing them off to other threads for processing (default of 25 worker 
threads), so I don't see why it should be the source of lag in the system. 
Multiple listeners (multiple BaseHttpServer's) might address concerns in 
this area - that is if we had a basis for apportioning traffic to 
different sockets. But how much traffic actually flows through 
BaseHttpServer? I wasn't sure and have been too lazy to work it out; my 
intuition is that it is actually pretty small (logons....what else?)

We clearly need a better handler for REST, with no access to the headers 
we are too functionally impaired. At the moment the stream handlers take 
priority over content-based allocation. Maybe we could use the headers 
more effectively to route work through the handler? I looked at what we 
get from the SL client, unfortunately it does nothing to distinguish its 
flows, just text/xml. But that wouldn't stop us from handling our own 
agents directly. E.g. make the first check a check on User-Agent, and if 
there is a handler for a specific agent, pass it to that, otherwise do the 
generic processing we have today. I already have a version of 
BaseHttpServer that does something along these lines (because I wanted 
header acces for REST).

Best regards
Alan
-------------------
T.J. Watson Research Center, Hawthorne, NY
1-914-784-7286
alan_webb at us.ibm.com



Dr Scofield <DrScofield at xyzzyxyzzy.net> 
Sent by: opensim-dev-bounces at lists.berlios.de
05/16/2008 05:35 AM
Please respond to
opensim-dev at lists.berlios.de


To
opensim-dev at lists.berlios.de
cc

Subject
[Opensim-dev] IStreamHandler vs IStreamedHandler






trying to grok the inner beauty of BaseHttpServer i came across 
IStreamHandler and IStreamedHandler.

from the comments in BaseHttpServer ---

                    // Okay, so this is bad, but should be considered 
temporary until everything is IStreamHandler.


--- one can conclude that IStreamedHandler's days should be counted, but 
there are actually very few handlers implementing IStreamHandler 
(basically Inventory code makes use of it via RestDeserializedhandler) 
and quite a lot (still?) implementing IStreamedHandler.

so, question: is the intention that IStreamHandler should rule and 
IStreamedHandler should go?

    cheers,
    dirk

-- 
dr dirk husemann ---- virtual worlds research ---- ibm zurich research lab
SL: dr scofield ---- drscofield at xyzzyxyzzy.net ---- http://xyzzyxyzzy.net/
RL: hud at zurich.ibm.com - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/

_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080516/02b6ead8/attachment-0001.html>


More information about the Opensim-dev mailing list