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.avinationmerge
							parent
							
								
									a79bafaaaf
								
							
						
					
					
						commit
						8dae7928d3
					
				|  | @ -443,7 +443,15 @@ namespace OpenSim.Server.Handlers.Simulation | |||
|         // subclasses can override this | ||||
|         protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) | ||||
|         { | ||||
|             return m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out reason); | ||||
|             reason = String.Empty; | ||||
|              | ||||
|             Util.FireAndForget(x => | ||||
|             { | ||||
|                 string r; | ||||
|                 m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out r); | ||||
|             }); | ||||
| 
 | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Melanie
						Melanie