diff options
author | Oren Hurvitz | 2014-04-03 12:47:20 +0300 |
---|---|---|
committer | Oren Hurvitz | 2014-04-03 14:13:03 +0100 |
commit | 6d2893be67fd725090b69f5f31c0985c3d211135 (patch) | |
tree | 6dd6ff48ed74f751730930635638b3a54fce4b7f /OpenSim/Services/Connectors | |
parent | BulletSim: make avatar physical shape to be a rectangle rather than (diff) | |
download | opensim-SC_OLD-6d2893be67fd725090b69f5f31c0985c3d211135.zip opensim-SC_OLD-6d2893be67fd725090b69f5f31c0985c3d211135.tar.gz opensim-SC_OLD-6d2893be67fd725090b69f5f31c0985c3d211135.tar.bz2 opensim-SC_OLD-6d2893be67fd725090b69f5f31c0985c3d211135.tar.xz |
When teleporting using Hypergrid, show more informative error messages in case of error
Diffstat (limited to 'OpenSim/Services/Connectors')
-rw-r--r-- | OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs index 5d7dcfd..8b1cc27 100644 --- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs | |||
@@ -202,7 +202,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
202 | return mapTile; | 202 | return mapTile; |
203 | } | 203 | } |
204 | 204 | ||
205 | public GridRegion GetHyperlinkRegion(GridRegion gatekeeper, UUID regionID) | 205 | public GridRegion GetHyperlinkRegion(GridRegion gatekeeper, UUID regionID, out string message) |
206 | { | 206 | { |
207 | Hashtable hash = new Hashtable(); | 207 | Hashtable hash = new Hashtable(); |
208 | hash["region_uuid"] = regionID.ToString(); | 208 | hash["region_uuid"] = regionID.ToString(); |
@@ -219,12 +219,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
219 | } | 219 | } |
220 | catch (Exception e) | 220 | catch (Exception e) |
221 | { | 221 | { |
222 | message = "Error contacting grid."; | ||
222 | m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Exception " + e.Message); | 223 | m_log.Debug("[GATEKEEPER SERVICE CONNECTOR]: Exception " + e.Message); |
223 | return null; | 224 | return null; |
224 | } | 225 | } |
225 | 226 | ||
226 | if (response.IsFault) | 227 | if (response.IsFault) |
227 | { | 228 | { |
229 | message = "Error contacting grid."; | ||
228 | m_log.ErrorFormat("[GATEKEEPER SERVICE CONNECTOR]: remote call returned an error: {0}", response.FaultString); | 230 | m_log.ErrorFormat("[GATEKEEPER SERVICE CONNECTOR]: remote call returned an error: {0}", response.FaultString); |
229 | return null; | 231 | return null; |
230 | } | 232 | } |
@@ -236,6 +238,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
236 | { | 238 | { |
237 | bool success = false; | 239 | bool success = false; |
238 | Boolean.TryParse((string)hash["result"], out success); | 240 | Boolean.TryParse((string)hash["result"], out success); |
241 | |||
242 | if (hash["message"] != null) | ||
243 | message = (string)hash["message"]; | ||
244 | else if (success) | ||
245 | message = null; | ||
246 | else | ||
247 | message = "The teleport destination could not be found."; // probably the dest grid is old and doesn't send 'message', but the most common problem is that the region is unavailable | ||
248 | |||
239 | if (success) | 249 | if (success) |
240 | { | 250 | { |
241 | GridRegion region = new GridRegion(); | 251 | GridRegion region = new GridRegion(); |
@@ -305,6 +315,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
305 | } | 315 | } |
306 | catch (Exception e) | 316 | catch (Exception e) |
307 | { | 317 | { |
318 | message = "Error parsing response from grid."; | ||
308 | m_log.Error("[GATEKEEPER SERVICE CONNECTOR]: Got exception while parsing hyperlink response " + e.StackTrace); | 319 | m_log.Error("[GATEKEEPER SERVICE CONNECTOR]: Got exception while parsing hyperlink response " + e.StackTrace); |
309 | return null; | 320 | return null; |
310 | } | 321 | } |