aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
diff options
context:
space:
mode:
authorMelanie2012-09-16 23:41:34 +0200
committerMelanie2012-09-16 23:41:34 +0200
commit8dae7928d39399c2ac3d6a0dbd9a1362b2e0f68d (patch)
treee9b88a8f0bb5daa4b905c32f7ef40c107f2e3339 /OpenSim/Server
parentChange the close tmeout from 2 to 3 seconds on teleport. This may (diff)
downloadopensim-SC-8dae7928d39399c2ac3d6a0dbd9a1362b2e0f68d.zip
opensim-SC-8dae7928d39399c2ac3d6a0dbd9a1362b2e0f68d.tar.gz
opensim-SC-8dae7928d39399c2ac3d6a0dbd9a1362b2e0f68d.tar.bz2
opensim-SC-8dae7928d39399c2ac3d6a0dbd9a1362b2e0f68d.tar.xz
Make agent creation at destination asynchronous. Failures here are pretty
much guaranteed to be fatal and the few times this would dosconnect an agent are more than made up for by the increased throughput of replying and closing the connection vs. keeping it open during the heavy work. Also causes better feedback to the viewer as the time is now split between Requesting Teleport and Connectiong to Destination.
Diffstat (limited to 'OpenSim/Server')
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs10
1 files changed, 9 insertions, 1 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
index d772c39..0bd8269 100644
--- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
@@ -443,7 +443,15 @@ namespace OpenSim.Server.Handlers.Simulation
443 // subclasses can override this 443 // subclasses can override this
444 protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) 444 protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason)
445 { 445 {
446 return m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out reason); 446 reason = String.Empty;
447
448 Util.FireAndForget(x =>
449 {
450 string r;
451 m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out r);
452 });
453
454 return true;
447 } 455 }
448 } 456 }
449 457