[Opensim-dev] Does OpenSim need to leave so many packets marked as reliable?
Hurliman, John
john.hurliman at intel.com
Mon Oct 6 17:50:23 UTC 2008
Unfortunately, there is currently no way to know if a packet should be sent out reliable or not. There are "// reliable" comments in the message template, but I'm not sure if every packet that should be reliable has a comment and every unreliable packet does not have one. Then there are tricky situations like AgentUpdate, where the first one is sent reliable (because it is a blocker for getting into the physics engine, interest list, and most useful things in a simulator) but most AgentUpdates after that are unreliable. Unless an important flag is set like "stop flying".
Aside from tricky cases like that though, it should be possible to comb through a Wireshark/LLUDP dump and find all of the packets that are being sent unreliable. If we built up a text file containing the names of these unreliable packets I can feed it to the libomv _Packets_.cs generator.
John
-----Original Message-----
From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Justin Clark-Casey
Sent: Thursday, October 02, 2008 11:33 AM
To: opensim-dev at lists.berlios.de
Subject: [Opensim-dev] Does OpenSim need to leave so many packets marked as reliable?
Hi there,
A vast number of the packets that we send out from OpenSim (usually >95% according to the statistics printed to the
Linden viewer log on shutdown) are marked as reliable. This requires that the viewer respond with an ack, and it just
doesn't appear that this is done very well when a large number of reliables are sent. A lot of acks never come and we
often appear to end up resending thousands (or in the worst case tens of thousands) of packets.
In a private experiment I've set Header.Reliable = false for the LayerDataPacket and ObjectUpdatePacket (which appear to
be the greatest sent by count, and which are currently reliable by default in libOMV). Naturally, this cuts down the
vast number of resends (and possibly some of the packet_out_of_order messages that come out on the console log) without
any apparant ill effects. However, my testing has been pretty limited so I'm minded to wait until Monday before making
any trunk changes, since then I can get a better load test with multiple avatars (this doesn't stop anybody else testing
of course :-)
Any opinions on this? Is there a good reason for these packets to remain reliable (when resends are probably rare
anyway)? libOMV appears to mark every packet as reliable by default... and then OpenSim removes this from a couple of
them but not from others.
--
justincc
Justin Clark-Casey
http://justincc.wordpress.com
_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev
More information about the Opensim-dev
mailing list