aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-03 12:47:20 +0300
committerOren Hurvitz2014-04-03 14:13:03 +0100
commit6d2893be67fd725090b69f5f31c0985c3d211135 (patch)
tree6dd6ff48ed74f751730930635638b3a54fce4b7f /OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
parentBulletSim: make avatar physical shape to be a rectangle rather than (diff)
downloadopensim-SC-6d2893be67fd725090b69f5f31c0985c3d211135.zip
opensim-SC-6d2893be67fd725090b69f5f31c0985c3d211135.tar.gz
opensim-SC-6d2893be67fd725090b69f5f31c0985c3d211135.tar.bz2
opensim-SC-6d2893be67fd725090b69f5f31c0985c3d211135.tar.xz
When teleporting using Hypergrid, show more informative error messages in case of error
Diffstat (limited to 'OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs')
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs13
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 }