<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
EQ definitively should live in the Client Stack. +1 from me if anybody wants to have a look at it.<BR><BR>Best regards,<BR>Stefan Andersson<BR>Tribal Media AB<BR> <BR>Join the 3d web revolution : <A href="http://tribalnet.se/">http://tribalnet.se/</A><BR> <BR><BR><BR><BR><BR>> From: adam@deepthink.com.au<BR>> To: opensim-dev@lists.berlios.de<BR>> Date: Wed, 3 Dec 2008 12:49:25 -0500<BR>> Subject: Re: [Opensim-dev] Event Queue<BR>> <BR>> I've suggested on a few occasions to move it into ClientStack - that's where this belongs.<BR>> <BR>> EventQueue messages should be sent/received the exact same way that UDP ones are.<BR>> <BR>> SendXYZMessage() on ClientStack, and OnXYZRecieved events also on clientstack.<BR>> <BR>> Adam<BR>> <BR>> > -----Original Message-----<BR>> > From: opensim-dev-bounces@lists.berlios.de [mailto:opensim-dev-<BR>> > bounces@lists.berlios.de] On Behalf Of Cristina Videira Lopes<BR>> > Sent: Wednesday, 3 December 2008 9:40 AM<BR>> > To: opensim-dev@lists.berlios.de<BR>> > Subject: [Opensim-dev] Event Queue<BR>> ><BR>> > Apologies in advance for bringing up everyone's favorite hate topic,<BR>> > but<BR>> > having spent most of yesterday tracking TP/crossing problems (again), I<BR>> > can't help but bringing this up to a wider audience. I know everyone<BR>> > hates the EQ. As it stands, there are several broken elements with the<BR>> > EQ in OpenSim, beyond the obvious bugs caused by its management. I'm<BR>> > just wondering if there is something here that I'm completely missing,<BR>> > or if this is really this bad:<BR>> ><BR>> > 1) It's implemented as an optional region module (!!!), configurable in<BR>> > OpenSim.ini (!!!). That explains why, for example, I could not<BR>> > reproduce<BR>> > crashes that other people have reported with older viewers. It turns<BR>> > out<BR>> > that those people are not just using older viewers; they are using<BR>> > OpenSim servers configured with EventQueue=false. A complete<BR>> > miscommunication.<BR>> ><BR>> > 2) It's implemented as an optional region module -- the sequel. It is<BR>> > being considered a [optional] part of the Region Environment, something<BR>> > a region may or may not do. I'm afraid, this is the incorrect model.<BR>> > The<BR>> > server side doesn't have any choice on this, if it wants to interact<BR>> > with the current version of the LL viewer. The EQ should be hand-in-<BR>> > hand<BR>> > with LLClientView. After all, it's the new channel of communications<BR>> > between a server and the LL viewer. Things that used to go over UDP are<BR>> > now sent via the EQ, period, no choice. Region Environment should be<BR>> > completely oblivious to that change. As it is now, this pattern occurs<BR>> > all over Region Environment classes:<BR>> ><BR>> > IEventQueue eq =<BR>> > [scene.]RequestModuleInterface<IEventQueue>();<BR>> > if (eq != null)<BR>> > {<BR>> > // send the event over EQ<BR>> > }<BR>> > else<BR>> > {<BR>> > // call the right IClientAPI method to send the event<BR>> > [over UDP]<BR>> > }<BR>> ><BR>> > This is infecting the server side with things that should be purely<BR>> > client side. It's a horrendous way of getting at the question "what<BR>> > version of the LL viewer are you supporting in your region?". If there<BR>> > is such a thing as a wrong question to ask, this is one of them. If we<BR>> > want to support viewers with older communication stacks, then let's<BR>> > make<BR>> > that explicit in OpenSim and subclass LLClientView for the N previous<BR>> > versions of the LL viewer's communications stack. Region Environment,<BR>> > and the whole of the OpenSim framework, should be insulated from that<BR>> > mess, that's what the IClientAPI is there for. No OpenSim.ini<BR>> > configuration variables, other than the already existing one:<BR>> > clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll"<BR>> ><BR>> > What will happen when Rex comes along? ... what version of the LL<BR>> > viewer<BR>> > is that based on? ...<BR>> ><BR>> > Sorry for venting! I'm just sending this out to find the answer to<BR>> > these<BR>> > three questions:<BR>> ><BR>> > a) Am I missing something?<BR>> ><BR>> > b) Are there any objections to placing EQ under<BR>> > OpenSim.Region.ClientStack.LindenUDP? (besides that name now being<BR>> > somewhat incorrect)<BR>> ><BR>> > c) Should OpenSim be backwards compatible with viewers forked off from<BR>> > older LL viewers *for the specific aspect of communications*? If so,<BR>> > what design pattern should be used?, subclassing or alternative code<BR>> > paths inside methods?<BR>> ><BR>> > _______________________________________________<BR>> > Opensim-dev mailing list<BR>> > Opensim-dev@lists.berlios.de<BR>> > https://lists.berlios.de/mailman/listinfo/opensim-dev<BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR></body>
</html>