<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:12pt"><div>I would suggest the key is not to break existing behavior since there are over a thousand OpenSim sims in existence on several grids and standalone arrays.<br><br>Charles<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;">----- Original Message ----<br>From: Mike Mazur <mmazur@gmail.com><br>To: opensim-dev@lists.berlios.de<br>Sent: Sunday, August 17, 2008 5:08:43 PM<br>Subject: Re: [Opensim-dev] Upcoming work on alternative client stack<br><br>
Hi Adam,<br><br>On Sun, 17 Aug 2008 14:27:12 -0400<br>"Frisby, Adam" <<a ymailto="mailto:adam@deepthink.com.au" href="mailto:adam@deepthink.com.au">adam@deepthink.com.au</a>> wrote:<br><br>> Please be careful here.<br>> <br>> I'm doing some work with the RealXtend guys to move their custom code<br>> into a set of Region Modules, however I need the SendPacket(Packet x)<br>> function on IClientAPI to do so.<br>> <br>> Now admittedly there's only a few custom packets, and we could extend<br>> IClientAPI to support them - these are:<br>> <br>> 1.       GenericMessagePacket - Rex has moved to using these to<br>> overload all their messages onto (so that the existing client ignores<br>> them safely), we don't have a IClientAPI.SendGenericMessage(string[]<br>> msg) equivalent yet. This could be one way we get around this.<br>> <br>> 2.       Convert to SendPacket(Byte[] x), then
 run<br>> GenericMessagePacket.ToBytes() before passing it to IClientAPI?<br><br>I'm not sure I fully understand the issue.<br><br>My changes in IClientAPI is to replace Packet with object:<br><br>IClientAPI:<br>-        void InPacket(Packet NewPack);<br>+        void InPacket(object NewPack);<br><br>This way the interface doesn't dictate the datatype of the packet, but<br>the implementing class does:<br><br>LLClientView (implements IClientAPI):<br>-        public virtual void InPacket(Packet NewPack)<br>+        public virtual void InPacket(object NewPack)<br>         {<br>-            m_PacketHandler.InPacket(NewPack);<br>+            // Cast NewPack to Packet.<br>+            m_PacketHandler.InPacket((Packet) NewPack);<br>        
 }<br><br>Since the interface expects an object, anything can be passed around,<br>be it byte[], Packet or GenericMessagePacket.<br><br>Does that still pose any issues for you?<br><br>Mike<br>_______________________________________________<br>Opensim-dev mailing list<br><a ymailto="mailto:Opensim-dev@lists.berlios.de" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br><a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br></div></div></div></body></html>