diff options
author | Tleiades Hax | 2007-10-18 15:10:43 +0000 |
---|---|---|
committer | Tleiades Hax | 2007-10-18 15:10:43 +0000 |
commit | 05df8571323c535b5c1ce1b0532e88236b143b7e (patch) | |
tree | 6f275d5b682231906315363514e98b7b06557fda /OpenSim/Region/Communications/Local | |
parent | * Removed some comments (diff) | |
download | opensim-SC-05df8571323c535b5c1ce1b0532e88236b143b7e.zip opensim-SC-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.gz opensim-SC-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.bz2 opensim-SC-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.xz |
Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.
Improved logging of errors, removed catch all in try catch
Diffstat (limited to 'OpenSim/Region/Communications/Local')
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalBackEndServices.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalLoginService.cs | 2 |
2 files changed, 9 insertions, 8 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 9a6bc82..fdc3994 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -72,20 +72,20 @@ namespace OpenSim.Region.Communications.Local | |||
72 | /// </summary> | 72 | /// </summary> |
73 | /// <param name="regionInfo"></param> | 73 | /// <param name="regionInfo"></param> |
74 | /// <returns></returns> | 74 | /// <returns></returns> |
75 | public List<RegionInfo> RequestNeighbours(RegionInfo regionInfo) | 75 | public List<SimpleRegionInfo> RequestNeighbours(uint x, uint y) |
76 | { | 76 | { |
77 | // Console.WriteLine("Finding Neighbours to " + regionInfo.RegionHandle); | 77 | // Console.WriteLine("Finding Neighbours to " + regionInfo.RegionHandle); |
78 | List<RegionInfo> neighbours = new List<RegionInfo>(); | 78 | List<SimpleRegionInfo> neighbours = new List<SimpleRegionInfo>(); |
79 | 79 | ||
80 | foreach (RegionInfo reg in this.m_regions.Values) | 80 | foreach (RegionInfo reg in m_regions.Values) |
81 | { | 81 | { |
82 | // Console.WriteLine("CommsManager- RequestNeighbours() checking region " + reg.RegionLocX + " , "+ reg.RegionLocY); | 82 | // Console.WriteLine("CommsManager- RequestNeighbours() checking region " + reg.RegionLocX + " , "+ reg.RegionLocY); |
83 | if (reg.RegionHandle != regionInfo.RegionHandle) | 83 | if (reg.RegionLocX != x || reg.RegionLocY != y) |
84 | { | 84 | { |
85 | //Console.WriteLine("CommsManager- RequestNeighbours() - found a different region in list, checking location"); | 85 | //Console.WriteLine("CommsManager- RequestNeighbours() - found a different region in list, checking location"); |
86 | if ((reg.RegionLocX > (regionInfo.RegionLocX - 2)) && (reg.RegionLocX < (regionInfo.RegionLocX + 2))) | 86 | if ((reg.RegionLocX > (x - 2)) && (reg.RegionLocX < (x + 2))) |
87 | { | 87 | { |
88 | if ((reg.RegionLocY > (regionInfo.RegionLocY - 2)) && (reg.RegionLocY < (regionInfo.RegionLocY + 2))) | 88 | if ((reg.RegionLocY > (x - 2)) && (reg.RegionLocY < (x + 2))) |
89 | { | 89 | { |
90 | neighbours.Add(reg); | 90 | neighbours.Add(reg); |
91 | } | 91 | } |
@@ -223,7 +223,7 @@ namespace OpenSim.Region.Communications.Local | |||
223 | regData["status"] = "active"; | 223 | regData["status"] = "active"; |
224 | regData["handle"] = region.ToString(); | 224 | regData["handle"] = region.ToString(); |
225 | 225 | ||
226 | respData[reg.SimUUID.ToStringHyphenated()] = regData; | 226 | respData[reg.RegionID.ToStringHyphenated()] = regData; |
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
@@ -254,3 +254,4 @@ namespace OpenSim.Region.Communications.Local | |||
254 | } | 254 | } |
255 | } | 255 | } |
256 | 256 | ||
257 | |||
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs index 1a92aaa..9c10d04 100644 --- a/OpenSim/Region/Communications/Local/LocalLoginService.cs +++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs | |||
@@ -127,7 +127,7 @@ namespace OpenSim.Region.Communications.Local | |||
127 | 127 | ||
128 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; | 128 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; |
129 | // response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CapsSeed/" + capsPath + "0000/"; | 129 | // response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CapsSeed/" + capsPath + "0000/"; |
130 | theUser.currentAgent.currentRegion = reg.SimUUID; | 130 | theUser.currentAgent.currentRegion = reg.RegionID; |
131 | theUser.currentAgent.currentHandle = reg.RegionHandle; | 131 | theUser.currentAgent.currentHandle = reg.RegionHandle; |
132 | 132 | ||
133 | Login _login = new Login(); | 133 | Login _login = new Login(); |