Commit Graph

191 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
5c92f62941 minor: remove mono compiler warning 2011-02-18 23:10:46 +00:00
Diva Canto
21715396fa Put the Ack of UseCircuitCode back to where it used to be. Some ppl are reporting login issues. 2011-02-09 17:45:19 -08:00
Diva Canto
f33e51e2ff Comment instrumentation out. Not needed anymore. Left in comments, in case it is needed again. Mantis #5365 2011-02-09 09:50:26 -08:00
Diva Canto
830fee145d Revert "Brute-force debug -- mantis #5365"
This reverts commit 585473aade.
2011-02-09 08:35:36 -08:00
Diva Canto
585473aade Brute-force debug -- mantis #5365 2011-02-08 20:12:33 -08:00
Diva Canto
117462cba1 Avoid potential race conditions on UseCircuitCode. I artificially made the race condition happen, and got very similar results to those described in mantis #5365 -- no prims/avie sent back. 2011-02-08 17:53:01 -08:00
Diva Canto
f431bd20ec Minor addition to the previous commit 2011-02-08 14:49:50 -08:00
Diva Canto
82846afe4b Minor improvement to previous commit. 2011-02-08 12:37:37 -08:00
Diva Canto
ac7bc78555 Added emergency monitoring of UDP Outgoing packets thread. Just type "emergency-monitoring on/off" 2011-02-08 12:06:14 -08:00
Justin Clark-Casey (justincc)
2413e9eb3f Record number of resent packets in LindenUDP stack and display in stats report 2011-02-02 20:00:50 +00:00
Justin Clark-Casey (justincc)
c383dbd06d implement "show throttles" command for showing current agent throttles and the server settings.
This is in a very crude state, currently.
The LindenUDPModule was renamed LindenUDPInfoModule and moved to OptionalModules
OptionalModules was given a direct reference to OpenSim.Region.ClientStack.LindenUDP so that it can inspect specific LindenUDP settings without having to generalize those to all client views (some of which may have no concept of the settings involved).
This might be ess messy if OpenSim.Region.ClientStack.LindenUDP were a region module instead, like MXP, IRC and NPC
2011-01-21 00:38:16 +00:00
Justin Clark-Casey (justincc)
c544f0d0c5 Prune some of the excess logging for client logins.
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Justin Clark-Casey (justincc)
81552099d6 Fix UnackedBytes client stack statistic as seen in "show queues"
Bytes were being wrongly added again on a resend
2011-01-17 23:45:25 +00:00
Diva Canto
0c165bc421 Commented a verbose Debug message in LLUDPServer that got uncommented at some point. 2011-01-05 07:14:09 -08:00
Jonathan Freedman
45cd2e3ef9 Merge branch 'master-core' into mantis5110 2010-12-05 11:49:15 -08:00
Justin Clark-Casey (justincc)
5246d98b8d Stop LLUDPServer sending updates after object deletes by always queueing deletes
If an LL 1.23.5 client (and possibly earlier and later) receives an object update after a kill object packet, it leaves the deleted prim in the scene until client relog
This is possible in LLUDPServer if an object update packet is queued but a kill packet sent immediately.
Beyond invasive tracking of kill sending, most expedient solution is to always queue kills, so that they always arrive after updates.
In tests, this doesn't appear to affect performance.
There is probably still an issue present where an update packet might not be acked and then resent after the kill packet.
2010-12-02 02:01:01 +00:00
Justin Clark-Casey (justincc)
26569a7cd0 minor: add some method doc 2010-12-02 02:01:01 +00:00
Jonathan Freedman
562147475c Merge https://github.com/opensim/opensim into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2010-11-21 19:51:23 -08:00
Jeff Ames
ae9c4a4d11 Formatting cleanup. 2010-11-08 07:48:35 -05:00
Jonathan Freedman
e371d3208c Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
2010-10-30 14:10:13 -04:00
Jonathan Freedman
9e7d3e0f25 Merge branch 'master' into mantis5110 2010-10-29 23:59:16 -04:00
Justin Clark-Casey (justincc)
343c894658 Set async_packet_handling = true by default
Setting this to true avoids a 500ms or so client freeze when the LLUDP server thread is taken up with processing a UseCircuitCode packet synchronously.
Extensive testing on Wright Plaza appeared to show no bad effects and this seems to reduce login lag considerably.
Of course, a lot of login lag is still coming from other sources.
2010-10-30 01:35:12 +01:00
Justin Clark-Casey (justincc)
f19816aeb9 Add number of ms it takes to complete UseCircuitCode packet handling to log for diagnostics 2010-10-29 21:38:26 +01:00
Justin Clark-Casey (justincc)
fe8d3d5a2b Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459e, reversing
changes made to 8f34e46d74.
2010-10-22 23:52:07 +01:00
Jonathan Freedman
d4144bedb8 * change the data exchanged within hypergrid transactions 2010-10-21 23:22:15 -04:00
Justin Clark-Casey (justincc)
5072429263 Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue.  It's possible for an object update to be placed on the client queue before a kill packet comes along.
The kill packet would then be placed on the state queue and possibly get sent before the update
If the update gets sent afterwards then client get undeletable no owner objects until relog
Placing the kills in the task queue should mean that they are received after updates.  The kill record prevents subsequent updates getting on the queue

Comments state that updates are sent via the state queue but this isn't true.  If this was the case this problem might not exist.
2010-09-17 01:16:21 +01:00
Justin Clark-Casey (justincc)
e4858b0eeb Add client name to packet resend log messages to make them a bit more informative 2010-09-13 21:29:04 +01:00
Melanie
cd2c7b9ac9 In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 01:57:02 +01:00
unknown
bf5c81d77e * Initial commit of the slimupdates2 rewrite. This pass maintains the original behavior of avatar update sending and has a simplified set of IClientAPI methods for sending avatar/prim updates 2010-05-12 15:59:48 -07:00
John Hurliman
35c82a31db Don't append ACKs to zerocoded packets. Although this should fine in theory, I'm seeing the viewer ignore or fail to parse ACKs appended to our zerocoded packets. This should cut down on viewer->sim resend traffic 2010-04-02 16:25:14 -07:00
John Hurliman
b51f40da8f Removed the unused use_async_when_possible config variable 2010-03-16 12:03:04 -07:00
John Hurliman
c6dd670d58 Streamlined error logging for malformed packets and fixed a bug when printing the hex dump 2010-02-23 14:58:36 -08:00
Diva Canto
5001f61c08 * HGGridConnector is no longer necessary.
* Handle logout properly. This needed an addition to IClientAPI, because of how the logout packet is currently being handled -- the agent is being removed from the scene before the different event handlers are executed, which is broken.
2010-01-29 18:59:41 -08:00
Diva Canto
00f7d622cb HG 1.5 is in place. Tested in standalone only. 2010-01-28 19:19:42 -08:00
Diva Canto
3d53694415 Go Home works. With security!! 2010-01-18 16:34:23 -08:00
Teravus Ovares (Dan Olivares)
4ef8dc7d96 * Add some glue that allows LocalPacketHandlers to decide if they want the packet to be processed asynchronously or not.
* Make several packets not asynchronous (such as AgentUpdate).    In theory, all fast returning packet handling methods should not be asynchronous.   Ones that wait on an external resource or a long held lock, should be asynchronous.
2009-12-13 02:08:28 -05:00
Teravus Ovares (Dan Olivares)
8296413add * Re-enable lightweight packet tracking stats on a 3000 ms interval. 2009-11-27 19:17:36 -05:00
John Hurliman
e6d7303b29 Applying #4332, optional packet statistics logging 2009-11-05 12:01:40 -08:00
Melanie
b6ea7c26ac Refine oversized packet handling as per jhurliman. Reallocate the buffer to
actual packet size only for oversized packets.
2009-11-04 23:12:56 +00:00
Melanie
58be90d2b1 Add some length to the backet buffer for packet sending so oversize
inventory packets don't make us barf
2009-11-04 22:47:40 +00:00
Melanie
c6246050d9 Make the default and max RTO configurable int he linden client stack 2009-10-30 22:07:56 +00:00
John Hurliman
5d5d0e699a * Disables automatic packet splitting on AvatarGroupsReply packets. This packet is a mess and shouldn't be used at all (in favor of the event queue message)
* Clean up the way we send AvatarGroupsReply packets, including clamping the group name and group title
2009-10-30 11:12:32 -07:00
John Hurliman
7965b6eb61 * Moving parcel media and avatar update packets from the unthrottled category to task
* Fixing a bug where the max burst rate for the state category was being set as unlimited, causing connections to child agents to saturate bandwidth
* Upped the example default drip rates to 1000 bytes/sec, the minimum granularity for the token buckets
2009-10-30 00:43:46 -07:00
John Hurliman
a05c67bebb * Fixes issue #4329 "llDialog fails silently" by updating OpenMetaverse.dll
* Prints a warning for any future packet splitting failures
2009-10-30 00:08:41 -07:00
John Hurliman
2913c24c8a * Commented out two noisy debug lines in the LLUDP server
* Misc. cleanup in ScenePresence.HandleAgentUpdate()
2009-10-29 15:24:31 -07:00
Mikko Pallari
8254256fe9 Modified visibilities of properties and methods. This is so that SL client based clients can use UDP server that is inherited from LLUDPServer. 2009-10-28 00:41:13 -07:00
John Hurliman
f89c2cac0f Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks 2009-10-27 14:16:01 -07:00
John Hurliman
0b1726b524 Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on 2009-10-26 16:48:43 -07:00
John Hurliman
4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman
c04775bf68 Changed UseCircuitCode handling to be synchronous or asynchronous depending on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled 2009-10-26 13:38:07 -07:00